我是 Webpack 的新手。我的 React 配置有效,但是当我尝试import postcssJs from 'postcss-js'
浏览器时,会Uncaught TypeError: Cannot read property 'Base64' of undefined
在var _Base64 = global.Base64;
.
这是我的 webpack 配置:
module.exports = {
entry: './demo/js/components/App.js',
output: {
path: __dirname + '/demo/js',
filename: 'bundle.js'
},
module: {
loaders: [
{
test: /\.(js|jsx)$/,
loader: 'babel',
query: {
presets: [
'es2015',
'stage-0',
'react'
],
plugins: [
'transform-react-stateless-component-name'
]
}
}
]
},
node: {
fs: 'empty'
},
watch: true
}
这是我遇到问题的 React 文件:
import React from 'react'
import postcssJs from 'postcss-js' // When I comment out this line, everything works fine.
export default ({greeting}) => <h3>{greeting}</h3>
我确定我只是缺少一些关于使用某种加载器或其他东西的基本 Webpack 范例,但我无法弄清楚。
我真的很感激任何帮助,因为这已经阻止了我几个小时......
这是我的依赖项:
"dependencies": {
"chalk": "^1.1.3",
"postcss": "^5.2.5",
"postcss-value-parser": "^3.3.0"
},
"devDependencies": {
"babel-cli": "^6.18.0",
"babel-loader": "^6.2.5",
"babel-plugin-add-module-exports": "^0.2.1",
"babel-plugin-transform-flow-strip-types": "^6.18.0",
"babel-plugin-transform-react-stateless-component-name": "^1.0.1",
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
"babel-preset-stage-0": "^6.16.0",
"browser-sync": "^2.17.5",
"imports-loader": "^0.6.5",
"lodash": "^4.16.4",
"npm-run-all": "^3.1.1",
"postcss-js": "^0.1.3",
"react": "^15.4.0-rc.4",
"react-dom": "^15.4.0-rc.4",
"stylus": "^0.54.5",
"webpack": "^2.1.0-beta.25"
}
它可以在没有 Babel 的情况下工作,但我需要 Babel ......