webpack build后的文件找不到?以及不能使用import?

发布于 2022-09-04 21:47:17 字数 1615 浏览 9 评论 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

野味少女 2022-09-11 21:47:17

...如果是想在webpack的配置文件中获取生成后的文件不好意思做不到。。

因为webpack配置需要被导入webpack来生成文件那么webpack配置文件必然是在生成文件之前执行的。。

还有webpack的配置文件用不了import的原因是nodejs还不支持。webpack的配置文件是执行在纯nodejs环境中。

如果你的文件没有输出到文件系统说明,你用的是webpack-dev-server,请使用webpack

将军与妓 2022-09-11 21:47:17

我的webpack这样配置是OK的,能找到build后的文件,build出来的文件也能正常运行
图片描述

浊酒尽余欢 2022-09-11 21:47:17

webpack.config.js改为webpack.config.babel.js

吻泪 2022-09-11 21:47:17

webpack2要求 require和module.exports以及import和export default必须成对出现。你代码中用了module.exports,所以必须要求用require。

梦回梦里 2022-09-11 21:47:17

能不能用import要看你Node的版本。

build的文件怎么会在内存里呢,当然是在文件系统里,路径是__dirname/build下,具体要看你__dirname是什么。

疯了 2022-09-11 21:47:17

我是提问者

bundle文件找不到的问题,解决方法
发现是使用方式的问题,需要在命令行中输入webpack手动build一下,才会显式的build到publicPath中,我之前是执行的webpack-dev-server,这种方式build出来的bundle文件是保存在内存中的

webpack.config.js中不能使用import,解决方法:
关于webpack配置文件中import和require的写法,官方文档的说明:
https://webpack.js.org/concep...

无妨# 2022-09-11 21:47:17

要进行webpack才会把文件保存到磁盘,uild的时候是保存在内存

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文