[英]Using webpack to process an AMD library with external dependencies
我有一個用AMD風格編寫的庫,可以與RequireJS一起使用。 假定jquery
和jquery-ui
由庫的用戶提供。 說它看起來像這樣:
// main-lib.js
define(['jquery', './aux-lib.js'], function ($) { ..(1).. });
// aux-lib.js
define(['jquery', 'jquery-ui'], function ($) { ..(2).. });
我試圖弄清楚webpack是如何工作的。 例如,假設我要將這些文件捆綁到一個AMD樣式庫文件中,該文件仍然從外部假設jquery
和jquery-ui
:
// out.js
define(['jquery', 'jquery-ui'], function ($) { ..(1)..(2).. } );
如何完成的?
當我使用main-lib.js
作為entry
點運行webpack時,它將抱怨找不到jquery
和jquery-ui
。 如果我配置具有正確的路徑resolve.alias
,它捆綁jquery
和jquery-ui
到out.js
,這不是我想要的。 我嘗試使用output.externals
無濟於事。
就我而言,這是一個非常簡單,愚蠢的錯誤。 相關字段不是output.externals
,而是簡單的externals
。 看這里 。 這里介紹的其他兩個相關字段在內部output
,而externals
不是。
PS: externals
也可以是數組。 這是我當前的配置:
{
entry: './main-lib.js',
output: {
path: './',
filename: 'out.js',
libraryTarget: 'amd'
},
externals: ['jquery', 'jquery-ui']
}
運行得很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.