Error: output.path needs to be an absolute path or /
Error: output.path needs to be an absolute path or /
这是我的 webpack.config 文件。当我 运行 webpack 时,bundle.js 正确写入 project/dist/assets/bundle.js.
但是,当我 运行 npm 开始提供文件时,出现错误:
Error: output.path needs to be an absolute path or /
.
所以...如果我将路径设置为绝对路径:"/dist/assets"
或 path: __dirname + "/dist/assets"
那么它可以很好地提供文件,并发出 bundle.js,但它实际上并没有写入它到我的 project/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"
}]
}
}
为此使用 path
:
var path = require('path');
....
output: {
path: path.join(__dirname, './dist/assets'),
这是我的 webpack.config 文件。当我 运行 webpack 时,bundle.js 正确写入 project/dist/assets/bundle.js.
但是,当我 运行 npm 开始提供文件时,出现错误:
Error: output.path needs to be an absolute path or /
.
所以...如果我将路径设置为绝对路径:"/dist/assets"
或 path: __dirname + "/dist/assets"
那么它可以很好地提供文件,并发出 bundle.js,但它实际上并没有写入它到我的 project/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"
}]
}
}
为此使用 path
:
var path = require('path');
....
output: {
path: path.join(__dirname, './dist/assets'),