我正在尝试将 babel-register 与我的 webpack 配置一起使用。这是我的文件:
.babelrc
{"presets": ["react","env"]}
webpack.config.js。
const path = require('path');
module.exports = {
entry: {
'app' : './src/app.jsx'
},
output: {
filename: '[name].js',
path: path.resolve(__dirname, 'dist')
},
devServer: {
contentBase: './dist',
open: true
}
};
包.json。
{
"name": "react-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "node -r babel-register ./node_modules/webpack/bin/webpack.js",
"debug": "node -r babel-register ./node_modules/webpack-dev-server/bin/webpack-dev-server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"react": "^16.2.0",
"react-dom": "^16.2.0"
},
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"babel-register": "^6.26.0",
"webpack": "^4.1.1",
"webpack-cli": "^2.0.10",
"webpack-dev-server": "^3.1.1"
}
}
输出错误是:
ERROR in ./src/app.jsx
Module parse failed: Unexpected token (5:2)
You may need an appropriate loader to handle this file type.
|
| ReactDOM.render(
| <h1>Hello, world!</h1>,
| document.getElementById('root')
| );
@ multi (webpack)-dev-server/client?http://localhost:8080 ./src/app.jsx
i 「wdm」: Failed to compile.
我不明白为什么,使用 node 和 babel-register 模块启动 webpack,最后一个不转译遇到的所有后续文件。我知道最好使用 webpack 模块来转换 .js、.jsx,但我想在这个 repo 中模拟调试和生产模式的示例:https ://github.com/chentsulin/electron-react-boilerplate 谢谢你的回答。