使用汇总将导入的javascript打包到svelte组件中

Lar*_*one 6 rollupjs svelte svelte-component

在我的代码中,我想导入一个在多个组件中通用的外部javascript文件.但是,当汇总构建组件时,它无法解析导入的依赖项,因此它永远不会包含在输出包中.注意,我正在尝试构建一个苗条的组件(而不是一个苗条的应用程序),虽然我不确定是否有所作为.这是我的rollup.config.js:

import svelte from 'rollup-plugin-svelte';
import pkg from './package.json';

const name = pkg.name
    .replace(/^(@\S+\/)?(svelte-)?(\S+)/, '$3')
    .replace(/^\w/, m => m.toUpperCase())
    .replace(/-\w/g, m => m[1].toUpperCase());

export default {
    input: 'src/Radar.html',
    output: [
        { sourcemap: true, file: pkg.module, 'format': 'es' },
        { sourcemap: true, file: pkg.main, 'format': 'umd', name }
    ],
    plugins: [
        svelte({
            cascade: false,
            store: true
        })
    ]
};
Run Code Online (Sandbox Code Playgroud)

Dmi*_*try 1

为了解决依赖性,有一个插件Rollup

import svelte from 'rollup-plugin-svelte';
import resolve from '@rollup/plugin-node-resolve';
import pkg from './package.json';

const name = pkg.name
    .replace(/^(@\S+\/)?(svelte-)?(\S+)/, '$3')
    .replace(/^\w/, m => m.toUpperCase())
    .replace(/-\w/g, m => m[1].toUpperCase());

export default {
    input: 'src/Radar.html',
    output: [
        { sourcemap: true, file: pkg.module, 'format': 'es' },
        { sourcemap: true, file: pkg.main, 'format': 'umd', name }
    ],
    plugins: [
        svelte({
            cascade: false,
            store: true
        }),
        resolve()
    ]
};
Run Code Online (Sandbox Code Playgroud)

我假设这Radar.html是一个 Svelte 模块,即您可以将其重命名为Radar.svelte.