Javascript NodeJS-可从客户端和节点访问的不同文件

Javascript NodeJS-可从客户端和节点访问的不同文件,javascript,node.js,Javascript,Node.js,我有一个(javascript)文件,其中包含“静态”变量,这些变量在App.js和客户端都使用 不幸的是,在App.js中,您需要具有在普通jscript文件中不使用的“模块”。这会导致客户端出错,因为未定义“模块”。有没有办法做到这一点 TL;DR:如何在app.js和客户端都可以访问常量变量 例如: 下面是使用browserify的示例: 安装browserify npm install -g browserify 或 编写一个模块 // greetings.js module.expo

我有一个(javascript)文件,其中包含“静态”变量,这些变量在App.js和客户端都使用

不幸的是,在App.js中,您需要具有在普通jscript文件中不使用的“模块”。这会导致客户端出错,因为未定义“模块”。有没有办法做到这一点

TL;DR:如何在app.js和客户端都可以访问常量变量

例如:


下面是使用browserify的示例:

安装browserify

npm install -g browserify

编写一个模块

// greetings.js
module.exports = function(name) {
    return 'Hello ' + name + '!';
}
使用模块

// app.js
var greetings = require('./greetings');
alert(greetings('Christophe'));
创建捆绑包

browserify app.js -o bundle.js
将bundle.js添加到index.html文件并运行应用程序

<html>
<body>

<script src="bundle.js"></script>
</body>
</html>

以下是使用browserify的示例:

安装browserify

npm install -g browserify

编写一个模块

// greetings.js
module.exports = function(name) {
    return 'Hello ' + name + '!';
}
使用模块

// app.js
var greetings = require('./greetings');
alert(greetings('Christophe'));
创建捆绑包

browserify app.js -o bundle.js
将bundle.js添加到index.html文件并运行应用程序

<html>
<body>

<script src="bundle.js"></script>
</body>
</html>


我认为您必须在客户机或服务器(其中一个)上定义您的var,然后通过httpAs共享。据我所知,您希望有一个可以在客户机和服务器上加载的文件,并访问其中的变量吗?如果是这种情况,只需首先检查
模块
对象是否存在,如果存在,请将对象附加到
模块。导出
,如果不存在,则没有问题,变量将可以在浏览器上访问(如果它们没有包装在anon函数中)。客户端是驻留在同一开发环境中的另一个npm项目吗?是:导出一个仅公开名为
Variable
的对象的简单模块。否:通过HTTP请求以类似API的方式公开
变量
对象。我认为您必须在客户端或服务器(其中一个)定义您的var,然后通过httpAs共享它。据我所知,您希望有一个可以在客户端和服务器上加载的文件,并访问其中的变量?如果是这种情况,只需首先检查
模块
对象是否存在,如果存在,请将对象附加到
模块。导出
,如果不存在,则没有问题,变量将可以在浏览器上访问(如果它们没有包装在anon函数中)。客户端是驻留在同一开发环境中的另一个npm项目吗?是:导出一个仅公开名为
Variable
的对象的简单模块。否:通过HTTP请求以类似API的方式公开
变量
对象。