Ошибка: output.path должен быть абсолютным путем или /
Это мой файл webpack.config. Когда я запускаю webpack, bundle.js правильно пишет в project/dist/assets/bundle.js.
Однако, когда я запускаю npm start для обслуживания файлов, я получаю сообщение об ошибке:
Error: output.path needs to be an absolute path or /
,
Так что... если я сделаю путь абсолютным "/dist/assets"
или же path: __dirname + "/dist/assets"
затем он прекрасно обрабатывает файлы и выдает файл bundle.js, но на самом деле он не записывает его в папку моего проекта / dist / assets.
Страница выглядит хорошо, и когда я просматриваю источник, я вижу <script src="/assets/bundle.js"></script>
но он существует только на локальном хосте (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"
}]
}
}
1 ответ
Использование path
за это:
var path = require('path');
....
output: {
path: path.join(__dirname, './dist/assets'),