webpack打包原生js
我要用webpack打包原生js,
然后写了个小demo测试一下:
我写了个test.js文件
module.exports = {
alertMsg:function(){
alert(1);
}
}
然后在入口文件entry.js里面导入这个文件
'use strict';
let a = require('./home/test.js');
module.exports = {a};
下面index.html文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script src="./common/jquery.min.js"></script>
<script src="./bundle.js"></script>
</head>
<body>
<div id="head"></div>
<div>
<button id="btn" onclick="alertMsg()">click</button>
</div>
</body>
<script>
window.alertMsg = a.alertMsg;
</script>
</html>
提示a未定义,我不知道是哪里理解出错,是对es6的module?!
迫切希望得到帮助。。。感谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
entry.js
中加一行代码就行了window.a = a;
a
是一个模块,不是一个全局变量,需要挂在windows
上才可以。这....
在entry.js中, 的确有export a这个变量, 但这些都是在ES6的环境下.你可以再添加一个新的文件, 如demo.js:
let a = require('./entry.js')
然后再去使用它.
但如果像
window.alertMsg = a.alertMsg
, 这么写肯定不对的.建议还是打好基础先!
ES5 ES6滥用
你需要使用webpack 打包UMD模块。