web-dev-qa-db-ja.com

Webpackはwebpack.config.jsを無視します

私は このチュートリアル をフォローしています。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属性を認識しないため、設定ファイルは無視されます。

[email protected] build/opt/lampp/htdocs/pruebaWebpack

ウェブパック

ハッシュ:4a9c3de0f194dd38ac70バージョン:webpack 4.4.1

時間:234ms

構築時:2018-4-1 15:53:00アセットサイズチャンク
チャンク

名前main.js 564バイト0 [発行] mainエントリポイントmain = main.js [0] ./src/index.js 19バイト{0} [構築]

構成の警告「モード」オプションは設定されていません。この値の場合、webpackは「本番」にフォールバックします。 「環境」オプションを「開発」または「生産」に設定して、各環境のデフォルトを有効にします。また、「なし」に設定して、デフォルトの動作を無効にすることもできます。詳細: https://webpack.js.org/concepts/mode/

事前に感謝し、私の英語について申し訳ありません。

6
Genarito

あなたの質問で共有された設定の抜粋は正しいようです。したがって、問題はタイプミスでさえある可能性があります。問題を再現するためにプロジェクトコードを共有したい場合は、さらにお手伝いできます。

確認してください Webpack Demo onGitHubwith出発点として作業構成ファイル。

configuring Webpackの詳細をご覧ください。

9
Carloluis

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" 
}

うまくいくはず

5
JuMoGar

先週も同じ問題が発生し、ファイル名の先頭に空白文字("webpack.config.js")があり、VSコードには表示されないことに気付きました。おそらく質問をしたときの本当の問題でした。

それが役に立てば幸い

1
Genarito