无法进入由汇总插件替换定义的对象

2024-04-14

在 Svelte 组件中,我尝试访问我在汇总配置文件中设置的对象。 我的rollup.config.js文件看起来像这样:

import replace from '@rollup/plugin-replace';

...
export default {
...
    replace({
        foo: JSON.stringify({ bar: 'Hello' }),
    }),

...

在我的 Svelte 组件中,一个简单的console.log(foo) works:

但是当我尝试进入 foo 对象时console.log(foo.bar), I get foo 未定义:


好问题!对象 foo 仍然未定义,因此它抛出正确的错误,并且无法找到foo替换为您要替换的任何内容。

解决方案是让替换插件完成其工作。您可以像这样访问您的变量js或你的.svelte files


const { bar } = foo;

console.log(bar);

注意:此插件检查已更改here https://github.com/rollup/plugins/tree/master/packages/replace#preventassignment了解详情。如果您计划使用 dotenv 来使用环境变量,请考虑

import { config } from "dotenv";

...
replace({
      values: {
        foo: JSON.stringify({ bar: "Hello", ...config().parsed }),
      },
    }),
...

并在你的svelte文件中

  const { bar, ...rest } = foo;
  console.log("bar=>", bar);
  console.log("env=>", rest);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法进入由汇总插件替换定义的对象 的相关文章

随机推荐