2016-07-29 70 views
0

我正在研究一個集成到一個更大的Angular應用程序。我們使用RequireJs,並且正在遷移到Webpack。我的代碼依賴於格式的外部requirejs模塊:Webpack外部需求模塊複雜的名稱

var x = require('foo/foo/bar'); 

編輯:該模塊實際上是位於的ServerRoot /富/富/ bar.js的腳本。

在我webpack.config.js我告訴的WebPack不與該模塊打擾,因爲它是從外部提供:

/* 15 */ 
/***/ function(module, exports) { 

    module.exports = foo/foo/bar; 

/***/ }, 

externals: { 
    'foo/foo/bar': 'foo/foo/bar' 
} 

此通過的WebPack生成以下代碼這顯然引發了一個錯誤。

那麼......我該如何讓它工作?

回答

0

外部庫或目標應該暴露var到全球範圍內,例如,使用外部jQuery庫:

externals: { 
    // require("jquery") is external and available 
    // on the global var jQuery 
    "jquery": "jQuery" 
} 
在你的情況下

所以,如果require('foo/foo/bar')會暴露一個globalFoo變量,你可以設置外部:

externals: { 
    "globalFoo": "foo/foo/bar" 
} 
+0

我沒有訪問外部庫使它暴露變量...它位於serverRoot/foo/foo/bar.js –