我正在尝试使用webpack 3和ES6在webpack中使用babel和hotmodulereplacement()
来打印动态消息但是,我无法打印消息。下面是代码。
无法打印:
var newMessage = () => ('<p>${messages.hi} ${messages.event}</p>');
messages.js文件
module.exports = {
hi: 'Hello there content changed',
event: 'this is new webpack'
};
index.js文件
var messages = require('./messages');
var newMessage = () => ('<p>${messages.hi} ${messages.event}</p>');
var app = document.getElementById('app');
app.innerHTML = newMessage();
if(module.hot){
module.hot.accept();
}
index.html文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app"></div>
<script src="dist/bundle.js"></script>
</body>
</html>
网页上的输出:
$ {messages.hi} $ {messages.event}
答案 0 :(得分:2)
我怀疑你想使用新的模板文字: 因为你必须将字符串括在反引号
中`<p>${messages.hi} ${messages.event}</p>`
请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
答案 1 :(得分:1)
你需要使用反引号(`)而不是引号(&#39;)。
`<p>${messages.hi} ${messages.event}</p>`