带有 Babel 的 webpack 无法正常工作
Posted
技术标签:
【中文标题】带有 Babel 的 webpack 无法正常工作【英文标题】:webpack with Babel not working 【发布时间】:2018-11-03 23:16:21 【问题描述】:我在 Windows 命令提示符下运行:npm start
然后得到:
javascript-ES6@1.0.0 启动 C:\Dans\Courses\JavaScript-ES6 webpack-dev-server
× 「wds」:配置对象无效。 Webpack 已使用与 API 模式不匹配的配置对象进行初始化。
- configuration.module 有一个未知的属性 'loaders'。这些属性是有效的:
object exprContextCritical?, exprContextRecursive?, exprContextRegExp?, exprContextRequest?, noParse?, rules?, defaultRules?, unknownContextCritical?, unknownContextRecursive?, unknownContextRegExp?, unknownContextRequest?, unsafeCache?, WrappedContextCritical?, WrappedContextRecursive?, WrappedContextRegExp?, strictExportPresence?, strictThisContextOnImports?
-> 影响正常模块的选项(NormalModuleFactory
)。
npm 错误! Windows_NT 10.0.17134
npm 错误! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "start"
npm 错误!节点 v6.10.0
npm 错误! npm v3.10.10
npm 错误!代码生命周期
npm 错误! JavaScript-ES6@1.0.0 开始:webpack-dev-server
npm 错误!退出状态 1
npm 错误!
npm 错误! JavaScript-ES6@1.0.0 启动脚本“webpack-dev-server”失败。
npm 错误!确保您安装了最新版本的 node.js 和 npm。
npm 错误!如果你这样做了,这很可能是 JavaScript-ES6 包的问题,
npm 错误!不是 npm 本身。
npm 错误!告诉作者这在您的系统上失败:
npm 错误! webpack-开发服务器
npm 错误!您可以通过以下方式获取有关如何为此项目打开问题的信息:
npm 错误! npm 错误 JavaScript-ES6
npm 错误!或者,如果这不可用,您可以通过以下方式获取他们的信息:
npm 错误! npm 所有者 ls JavaScript-ES6
npm 错误!上面可能还有额外的日志输出。
我的 webpack.config.js 文件内容:
const path = require('path');
module.exports =
entry: ['./app/index.js'],
output:
path: path.resolve(__dirname, 'build'),
filename: 'bundle.js'
,
module:
loaders: [
loader: 'babel-loader',
test: /\.js$/,
exclude: /node_modules/
]
,
devServer:
port: 3000,
contentBase: './build',
inline: true
我的 package.json 文件内容:
"name": "JavaScript-ES6",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts":
"build": "webpack",
"start": "webpack-dev-server"
,
"babel":
"presets": ["es2015"]
,
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies":
"babel-core": "^6.26.3",
"babel-loader": "^7.1.4",
"babel-polyfill": "^6.26.0",
"babel-preset-es2015": "^6.24.1",
"webpack": "^4.8.3",
"webpack-cli": "^2.1.4",
"webpack-dev-server": "^3.1.4"
【问题讨论】:
【参考方案1】:你的 webpack 配置有一个错误。 在模块内部,关键字需要是 rules 而不是 loaders。
const path = require('path');
module.exports =
entry: ['./app/index.js'],
output:
path: path.resolve(__dirname, 'build'),
filename: 'bundle.js'
,
module:
rules: [ //here
loader: 'babel-loader',
test: /\.js$/,
exclude: /node_modules/
]
,
devServer:
port: 3000,
contentBase: './build',
inline: true
【讨论】:
以上是关于带有 Babel 的 webpack 无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
带有 ReactJS 和 Webpack 的 Firebase FCM 无法正常工作:我们无法注册默认服务工作者
无法在与 webpack 和 babel 的反应中公开组件库