首页 文章

无法让webpack热模块更换工作

提问于
浏览
19

我正在编译我的babel和SCSS文件就好了,我让 Watch 功能正常工作 . 但是我很难做到这一点 . 当我在浏览器中加载开发服务器时,它显示 Cannot resolve module 'webpack/hot/dev-server' . 我的配置如下所示:

import webpack from 'webpack';
import wpServer from 'webpack-dev-server';

var compiler = webpack({
    entry: [
        './src/core.js',
        'webpack/hot/dev-server'
    ],
    output: {
        path: outPath,
        filename: '[name].js'
    },
    resolveLoader: { root: path.join(MODULE_PATH, "node_modules") },
    module: {
        loaders: [
          { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' },
          { test: /\.scss$/, loader: "style!css!sass" }
        ]
    },
    plugins: [new webpack.HotModuleReplacementPlugin()],
    watch: true
});

var server = new wpServer(compiler, {
    contentBase: outPath,
    hot: true,
    quiet: false,
    noInfo: false,
    lazy: true,
    filename: "main.js",
    watchDelay: 300,
    headers: { "X-Custom-Header": "yes" },
    stats: { colors: true },
});
server.listen(8080, "localhost", function() {});

我的index.html包含:

<script src="http://localhost:8080/webpack-dev-server.js"></script>
<script src='main.js'></script>

有没有人有任何想法?

3 回答

  • 14

    如果您全局安装 webpack-dev-server ,即 npm install webpack-dev-server -g ,请尝试在本地安装它(只需删除选项 -g ) .

    我这样解决了这个问题 .

  • 4

    IMPORTANT


    如果您使用的是 webpack@2.x.x.beta ,请确保安装

    webpack-dev-server@2.0.0-beta
    

    刚运行 npm install webpack-dev-server 对webpack 2不会很好 .

    这可能只有在版本2仍处于测试阶段时才会成立 .


    由于关于这个主题的文档非常分散,我也很难实现这个目标 .

    找到这个简单的工作示例:

    https://github.com/ahfarmer/webpack-hmr-starter-dev-server-api

    代码非常自我解释 .

  • 6

    我遇到了类似的问题 . 我通过在本地安装webpack来修复它 . 要将webpack安装为本地dev依赖项: npm i -D webpack

相关问题