Can';无法让webpack热模块更换正常工作
我已经成功地安装了WebPack,它正在编译我的babel和SCSS文件,我的手表功能运行良好。但是,我也希望与热模块更换工作-我有困难让它去。当我在浏览器中加载开发服务器时,它显示Can';无法让webpack热模块更换正常工作,webpack,webpack-dev-server,Webpack,Webpack Dev Server,我已经成功地安装了WebPack,它正在编译我的babel和SCSS文件,我的手表功能运行良好。但是,我也希望与热模块更换工作-我有困难让它去。当我在浏览器中加载开发服务器时,它显示无法解析模块“webpack/hot/dev server”。我的配置如下所示: import webpack from 'webpack'; import wpServer from 'webpack-dev-server'; var compiler = webpack({ entry: [
无法解析模块“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() {});
my index.html包含:
<script src="http://localhost:8080/webpack-dev-server.js"></script>
<script src='main.js'></script>
有人有什么想法吗?如果您在全局范围内安装了
webpack dev server
,即npm install webpack dev server-g
,请尝试在本地安装它(只需删除-g
选项)
我这样做解决了这个问题。我遇到了类似的问题。我通过在本地安装webpack来修复它。 要将webpack安装为本地开发人员依赖项,请执行以下操作:
npm i-D网页
重要
如果您正在使用webpack@2.x.x.beta确保您已安装
webpack-dev-server@2.0.0-beta
仅仅运行npm安装webpack dev server
不会很好地使用它
网页2
这可能只有在版本2仍处于测试阶段时才会出现
我也很难做到这一点,因为关于这个主题的文档非常零碎 找到以下简单的工作示例:
代码非常简单。您不能将webpack开发服务器惰性模式与HMR结合使用。惰性模式仅在HTTP请求时重新编译。HMR依赖于根据变化重新编译的观察者。请改用
lazy:false
,或者干脆忽略它。我已经发布了一个关于HMR如何工作以及如何使其工作的小说明:似乎--hot
选项正在本地查找一些文件。也许有一种方式可以说它们是全球安装的。因为在本地和全局安装dev server感觉很尴尬。@yvesamsellem我认为这个问题与webpack dev server
如何确定项目的基本目录有关。我检查了文档,该实用程序似乎公开了一个--content base
选项来覆盖默认值。无论哪种方式,将其安装为本地devDependency
都应该是维护跨平台一致性的首选方法。