在节点和React之间共享常量变量

时间:2018-03-29 00:03:50

标签: node.js reactjs

是否可以在react和node之间共享常量 - 我正在运行节点并同时做出反应?例如,我在客户端使用{ "compilerOptions": { "module": "es6", "target": "es6", "allowJs": true, "removeComments": true, "preserveConstEnums": true, "sourceMap": true }, "include": [ "**/src/*", "**/test/*" ], "exclude": [ "node_modules", "**/*.spec.ts" ] } 定义了一些常量,这些常量可能对服务器端有用,但是当我尝试export const时节点给我一个错误,因为它可以没有正确导入。有没有人遇到这个问题并找到了解决方案?

反应常数:

const {x} = require('./constants');

节点常量:

// constants.js
export const X = 'x';
export const Y = 'y';
export const Z = 'z';

// App.js
import {x, y, z} from './constants';

2 个答案:

答案 0 :(得分:0)

如果您使用相同的节点环境来为ReactJS组件提供服务,则可以使用环境变量来实现此目的。

您可以使用.env文件并将其导入process.env.VARIABLE_NAME您想要使用的位置。

也许这个问题 - Pass or use process.env variable from node to reactjs可以回答你的问题。

答案 1 :(得分:0)

我的项目设置如下:

节点在项目/目录中。

反应在project / src /目录中。

要在两个应用程序之间共享const,请在project / src / consts / Consts.js中定义它们,并可以将其导入任何一个应用程序中,如下所示:

import Consts from '../src/consts/Consts.js' // node
import Consts from '../consts/Consts.js' // react