我正在关注this tutorial,因为我是Webpack的新手...我的webpack.config.js是:
module.exports = {
entry: "./app/entry",
mode: "development",
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
}
]
}
};
我的package.json
:
{
"name": "pruebaWebpack",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack",
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.4",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"webpack": "^4.4.1",
"webpack-cli": "^2.0.13",
"webpack-dev-server": "^3.1.1"
},
"dependencies": {
"react": "^16.3.0",
"react-dom": "^16.3.0"
}
}
但显然它忽略了我的配置文件,因为当我运行npm run build
它使用默认路径(entry = ./src y output = ./dist)并且无法识别mode属性:
pruebaWebpack@1.0.0 build / opt / lampp / htdocs / pruebaWebpack
的WebPack
哈希:4a9c3de0f194dd38ac70版本:webpack 4.4.1
时间:234毫秒
建于:2018-4-1 15:53:00资产规模块 块
名称main.js 564字节0 [emit]主入口点main = main.js [0] ./ src / index.js 19个字节{0} [built]
配置中的警告尚未设置'mode'选项,webpack 这个价值将回落到“生产”。将'mode'选项设置为 “开发”或“生产”以启用每个环境的默认值。 您还可以将其设置为“无”以禁用任何默认行为。学习 更多:https://webpack.js.org/concepts/mode/
提前致谢并对我的英语表示抱歉。
答案 0 :(得分:7)
您的问题中分享的配置摘录似乎是正确的。 因此,问题甚至可能是一个错字。 如果您想共享项目代码以重现问题,我可以提供更多帮助。
使用工作配置文件作为起点,在 GitHub 上查看我的Webpack Demo。
详细了解configuring Webpack。
答案 1 :(得分:5)
webpack.config.js
。尝试类似:
const WEBPACK = require('webpack');
const PATH = require('path');
module.exports = {
resolve: {
extensions: ['.js', '.jsx']
},
context: __dirname,
entry: {
app: ['./src/index.jsx'] // app: ['./MY_FOLDER_INPUT/MY_FILE_INDEX.jsx']
},
output = {
path: PATH.join(__dirname, '/MY_FOLDER_OUTPUT'),
filename: 'index.js'
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
}
]
}
};
package.json
。添加下一个scripts
:
"scripts":
{
"build": "webpack-dev-server --mode development --open",
"prod_build": "webpack --mode production"
}
应该有效
答案 2 :(得分:1)
上周我遇到了同样的问题,我注意到文件名(“ webpack.config.js” )的开头有一个空格字符,该字符在VS代码中不可见。当我提出问题时,可能是真正的问题。
希望有帮助
答案 3 :(得分:1)
对我来说,在配置文件中输入 module.export
而不是 module.exports
是一个愚蠢的错误。