无法进入由汇总插件定义的对象-替换 [英] Can't go into object defined by rollup plugin-replace

查看:0
本文介绍了无法进入由汇总插件定义的对象-替换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Svelte组件中,我试图访问我在汇总配置文件中设置的对象。 我的rollup.config.js文件如下:

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

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

...

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

但是,当我尝试进入类似console.log(foo.bar)foo对象时,我得到foo is not fined

推荐答案

问得好!对象foo仍未定义,因此它将抛出正确的错误,并且找不到foo要替换的对象。

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


const { bar } = foo;

console.log(bar);

注意:对此插件进行了更改检查here以了解详细信息。如果您计划使用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);

这篇关于无法进入由汇总插件定义的对象-替换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆