我正在使用@rollup/plugin-image
来帮助解决我的LitElement项目中的svg导入,推荐如下:https://github.com/rollup/plugins.我还在custom.d.ts中声明了'*. svg'模块,因为我使用的是打字稿。
问题是我不知道如何在rollup的捆绑输出中包含SVG文件,这意味着我的浏览器以后无法导入这些文件,我在控制台中看到401个错误。为了暂时解决这个问题,我只需在需要在自定义LitElement组件的render()函数中显示SVG的地方使用一个内联SVG标记。请帮我理解我错过了什么。
我当前的(简化的)汇总。配置。js:
// other imports ...
import image from '@rollup/plugin-image';
const extensions = ['.js', '.ts'];
const commonPlugins = [
json(),
commonJS(),
resolve({ module: true, jsnext: true, extensions }),
postcss(),
terser({ keep_classnames: true, keep_fnames: true }),
**image(),**
];
const babelPlugins = [
...
];
const babelInclude = [
...
];
const es6Bundle = {
input: ['src/bundle/index.es6.ts'],
output: {
dir: 'dist/bundle',
entryFileNames: 'index.js',
format: 'iife',
sourcemap: true,
},
plugins: [
babel({
extensions,
presets: [
[
'@babel/preset-env',
{
targets: '>25%',
},
],
'@babel/typescript',
],
plugins: babelPlugins,
include: babelInclude,
}),
...commonPlugins, // where image() gets included
],
};
export default [es6Bundle];
我的输出目录如下:dist/bundle/wc/*bundle of web组件。js文件*
和dist/bundle的内部
有索引。js和索引。js。地图
我可能在这里混淆了不同的概念,如果是这样,我道歉。这是我第一次使用rollup和lit元素。
问题是我不知道如何在rollup的捆绑输出中包含SVG文件,这意味着我的浏览器以后无法导入这些文件,我在控制台中看到401个错误
@rollup/plugin image
的目的是让您在代码中内联图像,而不是在运行时导入它们,因此浏览器甚至不应该尝试加载它们。。。
应该是这样使用的:
import {html, LitElement, customElement} from 'lit-element';
import myImage from './image.svg';
@customElement('my-test')
export class MyTest extends LitElement {
render() {
return html`
<img src="${myImage}">
// Or like this, if the `dom` option
// of the plugin is set to true:
${myImage}
`;
}
}
但是,如果可以的话,我不建议将SVG内联为base 64:与其他图像格式不同,它可以与超文本标记语言完全互操作,那么为什么要增加它的大小呢?有关此主题的更多信息,请参阅此处。
您可能想看看其他插件,例如rollup-plugin-svg
,它允许您将SVG捆绑为标记。
我正在尝试使用rollup-plugin-multi-entry和rollup-plugin-uglify将相当多的JavaScript文件捆绑到一个缩小的文件中。我是缩小文件的新手,所以唯一引起注意的是,当我捆绑多个文件并将其缩小时,与捆绑单个文件并缩小该文件时相比,我的IDE主题不会改变代码的颜色。 单文件工作: 多个文件不起作用: 我使用的是一个汇总配置文件,当我在节点中运行脚本时,它不会抛
我尝试捆绑两个JavaScript模块,以便生成的代码在IE11中工作。为此,我设置了一个yarn/npm项目,它使用rollup.js进行捆绑,使用Babel进行转置。在我添加(非开发)依赖之前,一切都很好。 这里的细节: src/main。js src/utils。js package.json rollup.config.js 巴贝尔。配置。js 当我运行时,我会收到关于未解析依赖项的警告,
假设我正在构建一个依赖于react的webapp,一堆小型util库,然后拥有自己的代码。 捆绑代码时,我想把它分成3个捆绑包 react,react dom和其他类似react路由器dom的东西 虽然我可以使用rollup将代码绑定到一个文件中,并包含依赖项,但是否可以为1和2创建文件?
rollup-plugin-dev a development server for rollup why this plugin? compared to other plugins, this plugin: uses Fastify to provide the server and implement features while this means there are dependen
我已经导出了我的Unity项目,以便能够使用MultiDex。问题是,当我已经为Fabric设置了“io.fabric.unity.android.fabricApplication”时,我必须将项目androidmanifest中的Android:name设置为“Android.support.multidex.multidexApplication”。 我发现有人也有类似的问题,但没有得到解决
This plugin enables the user to insert an image into TinyMCE’s editable area. The plugin also adds a toolbar button and an Insert/edit image menu item under the Insert menu. Type: String Example tinym