【发布时间】:2020-06-19 16:02:47
【问题描述】:
我在我的 sapper 和 sapper-environment 汇总配置中使用 replace 将环境变量传递给 sapper 中的客户端 - 这安全吗?有没有更好/更安全的方法来解决这个问题?
使用下面的配置:
rollup.config.js
const sapperEnv = require('sapper-environment');
export default {
client: {
input: config.client.input(),
output: config.client.output(),
plugins: [
replace({
...sapperEnv(),
'process.browser': true,
'process.env.NODE_ENV': JSON.stringify(mode)
})
...
然后这允许我使用 stores.js 中的变量:
import { writable } from 'svelte/store';
import Client from 'shopify-buy';
const key = process.env.SAPPER_APP_SHOPIFY_KEY;
const domain = process.env.SAPPER_APP_SHOPIFY_DOMAIN;
// Initialize a client
const client = Client.buildClient({
domain: domain,
storefrontAccessToken: key
});
export { key, domain, client };
我尝试在服务器、js 中运行它并通过会话数据传递变量,但客户端无论我做什么,它们似乎总是返回“未定义”。
【问题讨论】:
标签: environment-variables svelte rollupjs sapper