首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在第三方库中复制后缓慢地进行rollup.js捆绑

在第三方库中复制后缓慢地进行rollup.js捆绑
EN

Stack Overflow用户
提问于 2021-10-30 08:09:14
回答 2查看 872关注 0票数 2

我正在使用https://shoelace.style (在我的Svelte项目中),在鞋带文档中的示例配置之后,我在rollup.config.js中添加了一个copy()插件,并将其复制到public/vendor/shoelace

代码语言:javascript
复制
export default {
  // SNIP
  plugins: [
    // SNIP
    copy({
      targets: [
        {
          src: path.resolve(
            __dirname,
            "node_modules/@shoelace-style/shoelace/dist/assets"
          ),
          dest: path.resolve(__dirname, "public/vendor/shoelace"),
        },
      ],
    }),
    // SNIP
  ],
};

它可以工作,但是现在构建需要非常长的40多岁,包括在文件更改上的增量重建。我相当肯定,时间损失并不是因为每次都是不小心复制的,因为资产文件夹只有600万。

那么,我想会有一些树抖动和/或优化正在进行吗?是否有方法将文件夹从汇总处理中排除?还是以任何方式排除/分析捆绑过程?

(如果有必要的话,我也可以发布配置的其余部分;但是它是npx degit sveltejs/template获得的标准新应用程序模板,添加/删除复制插件就产生了所有的不同。)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-10 15:02:32

事实证明,这个问题发生在rollup-plugin-copy上。即使是设置copyOnce: true也没有改变行为,而是将其设置为只在最后一个可能的机会时复制-- closeBundle钩子解决了我的问题。

代码语言:javascript
复制
    copy({
      copyOnce: true, // ???
      hook: "closeBundle",
      targets: [
        {
          src: path.resolve(
            __dirname,
            "node_modules/@shoelace-style/shoelace/dist/assets"
          ),
          dest: path.resolve(__dirname, "public/vendor/shoelace"),
        },
      ],
    }),
票数 1
EN

Stack Overflow用户

发布于 2021-10-30 14:07:47

我也在使用svelte和代码点火器,还有一种更简单的方法来包含您的css框架:

  1. 列表项将样式表添加到视图(布局)页眉,并将脚本添加到它的页脚,就在svelte脚本文件构建的上方(如果要在整个项目中使用鞋带)。
  2. 如果希望只针对一个页面(即使在加载视图以特定页面为目标之前也可以从控制器中添加这两种方法),则将两者添加到<svelte:header></svelte:header>中。
  3. 您可以通过安装npm i svelte-preprocess node-scss来添加它,然后包含css框架的scss文件,只需导入js文件(还可以使用使用scss的全局样式表来实现这一点)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69777862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档