Search code examples
javascriptecmascript-6babeljswebpack-2

cannot print dynamic message using es6, babel, webpack 3, javascript


I am trying to print dynamic message using webpack 3 and ES6 using babel and hotmodulereplacement() in webpack but, I cannot print messages. Below is the code. cannot print:

var newMessage = () => ('<p>${messages.hi} ${messages.event}</p>');

messages.js file

module.exports = {
    hi: 'Hello there  content changed',
    event: 'this is new webpack'
};

index.js file

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 file:

<!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>

Output on webpage:

${messages.hi} ${messages.event}


Solution

  • You need to use backticks ( ` ) instead of quotes (').

    `<p>${messages.hi} ${messages.event}</p>`