私は このチュートリアル をフォローしています。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/
事前に感謝し、私の英語について申し訳ありません。
あなたの質問で共有された設定の抜粋は正しいようです。したがって、問題はタイプミスでさえある可能性があります。問題を再現するためにプロジェクトコードを共有したい場合は、さらにお手伝いできます。
確認してください Webpack Demo onGitHubwith出発点として作業構成ファイル。
configuring Webpackの詳細をご覧ください。
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"
}
うまくいくはず
先週も同じ問題が発生し、ファイル名の先頭に空白文字("webpack.config.js")があり、VSコードには表示されないことに気付きました。おそらく質問をしたときの本当の問題でした。
それが役に立てば幸い