簡體   English   中英

使用webpack處理具有外部依賴關系的AMD庫

[英]Using webpack to process an AMD library with external dependencies

我有一個用AMD風格編寫的庫,可以與RequireJS一起使用。 假定jqueryjquery-ui由庫的用戶提供。 說它看起來像這樣:

// main-lib.js
define(['jquery', './aux-lib.js'], function ($) { ..(1).. });

// aux-lib.js
define(['jquery', 'jquery-ui'], function ($) { ..(2).. });

我試圖弄清楚webpack是如何工作的。 例如,假設我要將這些文件捆綁到一個AMD樣式庫文件中,該文件仍然從外部假設jqueryjquery-ui

// out.js
define(['jquery', 'jquery-ui'], function ($) { ..(1)..(2).. } );

如何完成的?

當我使用main-lib.js作為entry點運行webpack時,它將抱怨找不到jqueryjquery-ui 如果我配置具有正確的路徑resolve.alias ,它捆綁jqueryjquery-uiout.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM