webpack build后的文件找不到?以及不能使用import?
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"
}
};
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
...如果是想在webpack的配置文件中获取生成后的文件不好意思做不到。。
因为webpack配置需要被导入webpack来生成文件那么webpack配置文件必然是在生成文件之前执行的。。
还有webpack的配置文件用不了
import
的原因是nodejs还不支持。webpack的配置文件是执行在纯nodejs环境中。如果你的文件没有输出到文件系统说明,你用的是webpack-dev-server,请使用webpack
我的webpack这样配置是OK的,能找到build后的文件,build出来的文件也能正常运行
webpack.config.js改为webpack.config.babel.js
webpack2要求 require和module.exports以及import和export default必须成对出现。你代码中用了module.exports,所以必须要求用require。
能不能用import要看你Node的版本。
build的文件怎么会在内存里呢,当然是在文件系统里,路径是__dirname/build下,具体要看你__dirname是什么。
我是提问者
bundle文件找不到的问题,解决方法
发现是使用方式的问题,需要在命令行中输入
webpack
手动build一下,才会显式的build到publicPath中,我之前是执行的webpack-dev-server
,这种方式build出来的bundle文件是保存在内存中的webpack.config.js中不能使用import,解决方法:
关于webpack配置文件中import和require的写法,官方文档的说明:
https://webpack.js.org/concep...
要进行webpack才会把文件保存到磁盘,uild的时候是保存在内存