output: {
path: path.join(__dirname, './dist'),
filename: '[name].js',
publicPath: '/dist/'
},
写成./dist,为何这么写(下面是我的写法)
var path = require('path');
// 定义路径
var ROOT_PATH = path.resolve(__dirname);
var APP_PATH = path.resolve(ROOT_PATH, 'app');
var BUILD_PATH = path.resolve(ROOT_PATH, 'build');
module.exports = {
// 项目的文件夹
entry: './src/app.js',
// 输出的文件名 合并以后的js会命名为bundle.js
module: {
// 加载器
loaders: [{
test: /\.css$/,
loader: 'style-loader!css-loader'
}, {
test: /\.(png|jpg|gif)$/,
loader: 'url-loader?limit=8192'
}, ]
},
output: {
path: BUILD_PATH,
filename: '[name].js'
},
};
主要还是为了容错。
如果你只是单单写了
你觉得这个相对的
./build
指的是哪个目录?到底是相对“谁”啊?其实相对的不是你期望的当前脚本所在目录,而是相对于你在哪个目录执行的
webpack
命令,就是cli
里常说的current working directory
。所以如果当你执行命令的目录和webpack.config.js
在同一个目录时,没有任何问题。不过要是换个目录执行,你试试看嘛^^