0
這是我的webpack.config文件。當我運行webpack時,bundle.js會正確寫入project/dist/assets/bundle.js。Webpack輸出路徑問題
然而,當我運行NPM開始就可以提供這些文件,我得到一個錯誤:
Error: output.path needs to be an absolute path or /
。
所以......如果我做的絕對路徑:"/dist/assets"
或path: __dirname + "/dist/assets"
那麼它提供了文件罰款,併發出bundle.js,但它實際上並沒有寫我的項目/距離/資產的文件夾。
頁面看起來很好,當我查看源代碼時,我看到<script src="/assets/bundle.js"></script>
,但它只存在於localhost(publicPath)上。
我哪裏錯了? npm的目標是開始將包寫入我的項目文件夾,並用devServer提供它。
var webpack = require("webpack");
module.exports = {
entry: "./src/index.js",
output: {
path: "./dist/assets",
filename: "bundle.js",
publicPath: "/assets"
},
devServer: {
inline: true,
contentBase: "./dist",
port: 3000
},
module: {
loaders: [{
test: /\.js$/,
exclude: /(node_modules)/,
loader: ["babel-loader", "babel-loader?presets[]=latest,presets[]=stage-0,presets[]=react"]
}, {
test: /\.json$/,
exclude: /(node_modules)/,
loader: "json-loader"
}, {
test: /\.css$/,
loader: "style-loader!css-loader!autoprefixer-loader"
}, {
test: /\.scss$/,
loader: "style-loader!css-loader!autoprefixer-loader!sass-loader"
}]
}
}
謝謝。這適用於devServer,但我仍然需要單獨運行webpack才能真正寫入文件。我如何配置它,以便npm start運行webpack並且還可以用於devServer? –
在'package.json'中爲'npm start'定義腳本,它將爲您運行'wepack',將此行包含在'package.json':'「scripts」中:{「{」}「webpack- dev-server --color --inline「}' –
嗯......它仍然不會運行webpack(並且寫入文件),除非我將它與npm start分開。我有我的package.json {...「腳本」:{「{」}「webpack-dev-server -color --inline」 } –