webpack build完之后的bundle.js是存在了内存里,配置什么参数可以让它直接build在文件系统中,现在是找不到bundle.js
我的webpack版本是2以上的,在webpack.config.js中使用import xxx from "./xx/xx.js"
的时候,报错unexpected token import
,但是在其他被打包的js文件中就可以使用import
webpack2是可以使用import、require的,并不是node的,现在没有引入ES6,build的文件就是放在了内存中啊,现在可以跑通,而且页面可以请求到build/bundle.js,但是在电脑里的文件系统里面build下就是空的
webpack.config.js的内容:
var webpack = require("webpack");
var CommonsChunkPlugin = webpack.optimize.CommonsChunkPlugin;
import WriteFilePlugin from 'write-file-webpack-plugin';
module.exports = {
entry: {
index: __dirname + "/public/js/index.js",
appOverview: __dirname + "/public/js/appOverview.js",
'vendor': ['jquery']
},
output: {
path: __dirname + '/build',
filename: "[name].bundle.js",
publicPath:"/build"
},
module: {
loaders: [
{
test:/\.css$/,
loader:'style-loader!css-loader'
}
],
},
// devtool: 'eval-source-map',//配置生成Source Maps,选择合适的选项
devtool: process.env.WEBPACK_DEVTOOL || 'source-map',
plugins:[
new webpack.ProvidePlugin({
$:"jquery",
jQuery:"jquery",
"window.jQuery":"jquery"
}),
new CommonsChunkPlugin({
name: 'vendor',
minChunks: Infinity
}),
new WriteFilePlugin()
],
devServer: {
contentBase: "./public",//本地服务器所加载的页面所在的目录
historyApiFallback: true,//不跳转
inline: true,//实时刷新
port:"8081"
}
};
...如果是想在webpack的配置文件中获取生成后的文件不好意思做不到。。
因为webpack配置需要被导入webpack来生成文件那么webpack配置文件必然是在生成文件之前执行的。。
还有webpack的配置文件用不了
import
的原因是nodejs还不支持。webpack的配置文件是执行在纯nodejs环境中。如果你的文件没有输出到文件系统说明,你用的是webpack-dev-server,请使用webpack