[英]NodeJS: Import all local variables
我在TypeScript上有一个项目,我需要在NodeJS上运行已编译的JS文件。 问题是我无法更改TypeScript文件。 问题是TypeScript编译器使var mymodule
并将所有变量和函数附加到此var
。 而且我不知道如何将此模块导入NodeJS。 我可以在NodeJS中导入所有变量(包括局部变量)吗?
TypeScript项目应使用CommonJS模块系统。
如果您不能更改模块系统,则可以在.ts
文件末尾添加:
declare var module: { exports };
if (typeof module === "object" && module.exports)
module.exports = mymodule;
您可以编写this.mymodule1 = ...
而不是var mymodule1 = ...
此模式在Node.js和浏览器中均适用。
我无法更改TypeScript文件
如果您根本无法更改.ts
文件,请在相关.js
使用eval
:
var fs = require("fs");
eval(fs.readFileSync("myTSModule.js", "utf8"));
mymodule.myCoolMethod("hello");
您还可以通过runInContext
隔离环境模块的运行上下文:
var context = vm.createContext();
vm.runInContext(code, context);
var mymodule = context.mymodule;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.