我是svelte.js的新手。请帮我解决它
在这里,当我在.svelte文件中导入滑动转盘时。它显示了这个错误,它是
[rollup-plugin-svelte]以下软件包没有导出其
package.json
文件,因此我们无法检查;"苗条";领域如果您在从包中导入svelte组件时遇到困难,请联系作者,让他们导出package.json文件。
终端错误屏幕截图。请检查此
这是我的代码文件。这是转盘滑块的另一个组件。但当我导入滑动转盘时,我看到了这张照片
<script>
import { Swiper, SwiperSlide } from "swiper/svelte";
import PorfolioCard from "./../components/porfolio-card.svelte";
import SectionTitle from "./../components/sectionTitle.svelte";
import "swiper/css";
</script>
<section id="portfolio">
<SectionTitle title="My Portfolio" subtitle="Visit My Portfolio And Keep your feedback" />
<div class="mt-4 px-1 px-md-3 px-lg-5">
<Swiper>
<SwiperSlide>
<PorfolioCard />
</SwiperSlide>
<SwiperSlide>
<PorfolioCard />
</SwiperSlide>
<SwiperSlide>
<PorfolioCard />
</SwiperSlide>
<SwiperSlide>
<PorfolioCard />
</SwiperSlide>
<SwiperSlide>
<PorfolioCard />
</SwiperSlide>
</Swiper>
</div>
</section>
当前没有方法使此警告静音。然而,在GitHub回购中有一个悬而未决的问题。
https://github.com/sveltejs/rollup-plugin-svelte/issues/181
更新:
显然,这一问题已经在这里得到解决,前面提到的悬而未决的问题也因此得到解决。
TL;DR
如果该错误来自不导出svelte
组件的模块(例如,stream
、util
、is-odd
;导出Javascript文件的模块),则可以安全地忽略该错误。您甚至可以通过在rollup.config.js
:中覆盖onwarn
来隐藏它
const onwarn = (message, warn) => {
const ignored = {
PLUGIN_WARNING: ['`package.json`'],
};
const ignoredKeys = Object.keys(ignored);
const ignoredValues = Object.values(ignored);
for (let i = 0, l = ignoredKeys.length; i < l; ++i) {
const ignoredKey = ignoredKeys[i];
const ignoredValue = ignoredValues[i];
for (const ignoredValuePart of ignoredValue) {
if (message.code !== ignoredKey
|| !message.toString().includes(ignoredValuePart)) {
continue;
}
return;
}
}
warn(message);
};
export default {
output: {
format: 'esm',
name: 'app',
dir: 'public',
},
onwarn,
plugins: [
// your plugins, eg. `svelte()`
],
}
迷你解释
之所以发出它,是因为一些模块使用exports
字段指定了它们在package.json
中导出的文件,但它们在字段中不包括package.json
本身。这混淆了rollup-plugin-svelte
如何识别导出svelte
组件的模块——通过读取package.json
(它无法导入特定未导出的内容!)。以下是插件的Github页面上的一些更技术的解释,关于插件为什么会这样做&