有关webpack的一个小问题

发布于 2022-09-01 22:11:56 字数 1223 浏览 6 评论 0

最近一直再学着使用webpack,也尝试把自己的项目与webpack结合。
看了很多教程,终于可以成功构建了。
后来尝试进一步配置webpack-dev-server,最终也可以hot deploy module了。
不过最终还是有一点小问题不是很明白,是关于webpack-dev-middleware的,这个middleware到底有什么用?意思是如果在我当前的express项目中使用这个middleware的话,就不用启动额外的webpack server吗?
假如express启动的端口是8081,webpack-dev-server的默认端口是8080,那么我在项目中使用middleware后,原先的localhost:8080/{publicPath}/{module}.js意思转变成localhost:8081/{publicPath}/{module}.js?
我刚试了试,是404啊,那这个中间件到底怎么用呢?

webpack.config.js的output部分

output: {
        libraryTarget: 'var',
        filename: '[name].build.js',
        chunkFilename: '[chunkhash:8].[name].chunk.js',
        publicPath: '/public/assets/',
        path: path.join(__dirname, '/public/assets')

    },

express的中间件部分

var app = express();
var webpackDevMiddleware = require('webpack-dev-middleware');
var webpack = require('webpack');
var webpackConf = require('./webpack.config');

app.use(webpackDevMiddleware(webpack(webpackConf),
    {
        contentBase: webpackConf.output.path,
        //http://localhost:8081/public/assets
        publicPath: webpackConf.output.publicPath,
        hot: true,
        stats: {
            colors: true
        }
    }
))

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(1

北凤男飞 2022-09-08 22:11:56

解决了,路径冲突了,优先加载local resource了。

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