我尝试将 Svelte 组件编译为 Web 组件。
- 添加了选项
<svelte:options tag="date-picker" immutable={true}/>
customElement: true
在汇总中添加到plugins: [ svelte()
- 跑
npm run build
但我不断收到消息:
(!)插件苗条:未指定自定义元素“标签”选项。要自动注册自定义元素,请指定带有连字符的名称,例如 . 要隐藏此警告,请使用
我究竟做错了什么?
我的index.js
文件:
export { default as default } from './DatePicker.svelte';
DatePicker.svelte
文件:
<svelte:options tag="date-picker" immutable={true}/>
<script>
/* code */
汇总文件:
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/index.js',
output: [
{ file: pkg.module, 'format': 'es' },
{ file: pkg.main, 'format': 'umd', name }
],
plugins: [
svelte({
customElement: true
}),
resolve()
]
};
似乎如果您的项目由单个组件组成,则不会出现该消息。在此处查看问题: