鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ webpack打包原生js

webpack打包原生js

我要用webpack打包原生js,
然后寫了個小demo測試一下:
我寫了個test.js文件

module.exports = {
    alertMsg:function(){
        alert(1);
    }
}

然后在入口文件entry.js里面導(dǎo)入這個文件

'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?!
迫切希望得到幫助。。。感謝

回答
編輯回答
陌南塵

entry.js中加一行代碼就行了
window.a = a;
a是一個模塊,不是一個全局變量,需要掛在windows上才可以。

2017年8月17日 06:01
編輯回答
枕邊人

你需要使用webpack 打包UMD模塊。

2017年3月19日 17:32
編輯回答
怣人

建議還是打好基礎(chǔ)先!
ES5 ES6濫用

2017年7月18日 06:51
編輯回答
怪痞

這....

在entry.js中, 的確有export a這個變量, 但這些都是在ES6的環(huán)境下.你可以再添加一個新的文件, 如demo.js:
let a = require('./entry.js')
然后再去使用它.

但如果像
window.alertMsg = a.alertMsg, 這么寫肯定不對的.

2017年10月15日 20:19