通过以下配置,我已经能够使用 HotModuleReplacementPlugin() 进行热模块替换,但在运行 webpack-dev-server 时不能使用 --hot 。我的问题是,为什么?
\n\n几乎所有最近设置热模块替换的指南都使用 --hot,但它对我不起作用。
\n\nvar webpack = require("webpack");\r\nvar path = require("path");\r\n \r\nconst config = {\r\n entry: path.resolve(__dirname, \'app/index.js\') ,\r\n output: {\r\n path: path.resolve(__dirname, \'output\'),\r\n filename: \'bundle.js\',\r\n publicPath: "static/"\r\n },\r\n module: {\r\n rules: [\r\n {test: /\\.(js|jsx)$/, use: \'babel-loader\'}\r\n ]\r\n },\r\n plugins: [\r\n new webpack.HotModuleReplacementPlugin()\r\n ]\r\n\r\n};\r\n \r\nmodule.exports = config;Run Code Online (Sandbox Code Playgroud)\r\n我像这样引用我的代码文件。
\n\n<script src="static/bundle.js"></script>\nRun Code Online (Sandbox Code Playgroud)\n\n我像这样运行我的服务器。
\n\nwebpack-dev-server --inline --colors --progress\nRun Code Online (Sandbox Code Playgroud)\n\n版本。
\n\nwebpack-dev-server 2.3.0\nwebpack 2.2.1\nRun Code Online (Sandbox Code Playgroud)\n\n通过此设置,热模块加载可以正常工作。如果我删除插件,并运行附加 --hot …
node.js reactjs webpack webpack-dev-server hot-module-replacement
这似乎是一件很简单的事情,但我找不到一个jQuery函数来处理这个问题。
例如,
$('div').show().sayHi()
function sayHi(obj) {
obj.html('hi')
}
Run Code Online (Sandbox Code Playgroud)
sayHi()不是jQuery函数,因此不能在此上下文中调用。你需要这样称呼它:
var $div = $('div').show()
sayHi($div)
Run Code Online (Sandbox Code Playgroud)
但我想要它作为链条的一部分,主要是因为它看起来更好。
解决方案:
Barmar 的回答最好地回答了这个特定问题,但我的实现是一个更可重用的选项,如下面的回答所示。