我正在學習Webpack並且很喜歡這個想法,但我只是沒有遇到這個問題。我有一個app.js文件,它有兩個require
(./logger和./includes/functions)。在app.js看起來是這樣的:無法從其他JS文件中使用webpack從主JS文件中獲取全局變量
require('./logger');
require('./includes/functions');
document.write(welcomeTitle);
welcomeTitle
是./includes/functions
聲明的變量:
var welcomeTitle = "Hello World!";
,但我得到以下錯誤,當我運行此:bundle.js:50 Uncaught ReferenceError: welcomeTitle is not defined(…)
。到welcomeTitle
變量bundle.js文件引用之前它的需要:
/* 0 */
/***/ function(module, exports, __webpack_require__) {
__webpack_require__(1);
__webpack_require__(2);
document.write(welcomeTitle);
/***/ },
/* 1 */
/***/ function(module, exports) {
console.log('logger.js is now loaded...');
/***/ },
/* 2 */
/***/ function(module, exports) {
var welcomeTitle = "Hello World!";
爲什麼我不能訪問welcomeTitle
變量如果我需要functions.js,在這個變量聲明?
你'var' welcomeTitle需要導出,以便它的訪問。你看這裏http://requirejs.org? –
沒有要求JS沒辦法嗎? 「require」的要點是從文件中獲取函數/方法和變量等嗎?有沒有更簡單的方法來實現這一目標? –
這很簡單 - 在somefile.js中,函數someFn(){} module.exports = someFn'然後在main.js中var someFn = require('./ somefile');'你可以*使它成爲一個全局的'var''window.welcomeTitle ='something';'但是如果你使用'require'則要保持一致並堅持這種範式。 –