1

我有一个以 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 样式库文件中,该文件仍然假定jquery并且jquery-ui从外部:

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

这是如何实现的?

main-lib.js当我使用as -point 运行 webpack 时entry,它会抱怨找不到jqueryjquery-ui. 如果我用 配置正确的路径resolve.alias,它会捆绑jqueryjquery-ui进入out.js,这不是我想要的。我尝试使用output.externals无济于事。

4

1 回答 1

1

这对我来说是一个非常简单、愚蠢的错误。相关领域不是output.externals,只是简单externals。见这里。里面介绍的其他两个相关领域output,但externals不是。

PS:externals也可以是数组。这是我当前的配置:

{
    entry: './main-lib.js',
    output: {
        path: './',
        filename: 'out.js',
        libraryTarget: 'amd'
    },
    externals: ['jquery', 'jquery-ui']
}

它工作得很好。

于 2014-09-02T22:02:23.890 回答