1. 程式人生 > >browserify檔案後函式呼叫報is not defined的原因

browserify檔案後函式呼叫報is not defined的原因

舉個例子:

a.js

var a = 100;
module.exports.a = a;

 

b.js

var result = require('./a');
var getA =() => {
    console.log(result.a);    
}

 

然後打包生成:

browserify b.js > bb.js

 

然後在頁面端呼叫時,報getA() is not defined的錯誤:

<script src="bb.js"></script>
<script>
    getA();
</script>

 

原因是需要將你要呼叫的變數和函式都宣告成全域性的,否則無法取到

改後:

var result = require('./a');
window.getA =() => {
    console.log(result.a);    
}

然後就能夠成功呼叫了