Webpack忽略webpack.config.js

Gen*_*ito 6 webpack-4

我正在学习本教程,因为我是Webpack的新手...我的webpack.config.js是:

module.exports = {
    entry: "./app/entry",
    mode: "development",
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                use: {
                    loader: "babel-loader"
                }
            }
        ]
    }
};
Run Code Online (Sandbox Code Playgroud)

我的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"
  }
}
Run Code Online (Sandbox Code Playgroud)

但显然它忽略了我的配置文件,因为当我运行时npm run build它使用默认路径(entry = ./src y output = ./dist)并且无法识别mode属性:

pruebaWebpack@1.0.0 build/opt/lampp/htdocs/pruebaWebpack

的WebPack

哈希:4a9c3de0f194dd38ac70版本:webpack 4.4.1

时间:234ms

建于:2018-4-1 15:53:00资产规模块
大块

名称main.js 564字节0 [emit]主入口点main = main.js [0] ./ src/index.js 19字节{0} [已建]

配置中的警告尚未设置'mode'选项,webpack将回退到此值的'production'.将"mode"选项设置为"development"或"production"以启用每个环境的默认值.您还可以将其设置为"无"以禁用任何默认行为.了解更多:https://webpack.js.org/concepts/mode/

提前致谢,对不起我的英语.

Car*_*uis 9

您问题中共享的配置摘录似乎是正确的.因此,问题甚至可能是一个错字.如果您想共享项目代码以重现问题,我可以提供更多帮助.

使用工作配置文件作为起点,在GitHub上查看我的Webpack Demo.

阅读有关配置 Webpack的更多信息.


Mhd*_*osh 9

对我来说,这是一个愚蠢的错误:在配置文件中输入module.export而不是输入。module.exports


Gen*_*ito 6

上周我遇到了同样的问题,我注意到文件名(“ webpack.config.js”)开头有一个空格字符,在 VS Code 中不可见。可能这是我提出问题时的真正问题。

希望能帮助到你


JuM*_*Gar 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"
            }
        }
    ]
}
};
Run Code Online (Sandbox Code Playgroud)

package.json.添加下一个scripts:

"scripts": 
{ 
    "build": "webpack-dev-server --mode development --open", 
    "prod_build": "webpack --mode production" 
}
Run Code Online (Sandbox Code Playgroud)

它应该有效