使用Rollup + Svelte与第三方AMD库

Joh*_*ers 2 javascript amd node.js rollupjs svelte

据我所知,Svelte可以生成AMD 输出,并在文档中找到有关如何执行此操作的一些详细信息.我还可以找到有关如何配置Rollup以输出 AMD模块的一些信息.但是输入怎么样?当我将AMD模块作为依赖项时,我需要做什么?

例如,假设我有两个不同的第三方库,它们都作为AMD库分发,我想在我的Svelte项目中使用这些库.我怎么需要修改例如.这个嵌套的组件演示允许这些AMD模块在我的Svelte组件中用作依赖项?

此外,我能够配置是否将这些库与我的Svelte组件捆绑在一起?如果是这样,我需要在哪里这样做?


注意

我还在Github上提出了这个问题.

Ric*_*ris 6

AMD模块很难转换为ES模块,因此您可能会发现很难将它们与Rollup捆绑在一起.(有汇总 - 插件 -但它带有警告.)

但是您可以轻松地将它们视为单独加载的外部依赖项 - 只需将import它们视为正常然后配置Rollup:

// rollup.config.js
export default {
  // ...
  format: 'amd',
  external: ['an-external-amd-module'],
  paths: {
    'an-external-amd-module': 'https://my-cdn.com/an-external-amd-module.js'
  }
};
Run Code Online (Sandbox Code Playgroud)

你可以看到一个演示这里(回购这里) -注意,我们正在加载称为exernal AMD模块的回答,即使这是一个常规的import,因为的汇总配置.