Javascript 使用不带路径的require()函数
我正在处理一个node.js/express项目,我正在其中使用typescript。我在导入东西时没有任何问题,但我必须使用以下难看/不可扩展的格式Javascript 使用不带路径的require()函数,javascript,node.js,typescript,Javascript,Node.js,Typescript,我正在处理一个node.js/express项目,我正在其中使用typescript。我在导入东西时没有任何问题,但我必须使用以下难看/不可扩展的格式 import MyModule = require("../../ModuleFolder/MyModule"); 假设我的模块是这样的 export module MyModule { export function doStuff():void { //do stuff here } } 我不知道如
import MyModule = require("../../ModuleFolder/MyModule");
假设我的模块是这样的
export module MyModule
{
export function doStuff():void
{
//do stuff here
}
}
我不知道如何在没有指定路径的情况下拉入模块和类。理想情况下,我希望能够像这样把它拉进来
import MyModule = require("MyModule");
我可以做些什么来实现这一点或改进这一实现吗
更新:最终,我使用了模块来实现这一点,效果非常好 如果在中指定脚本
var Name = require ('name')
然后nodeJS会自动在node_模块中查找目录“name”和其中的模块定义。如果您的模块位于其他位置,则需要指定路径。
或者在
node\u modules
中创建指向您的模块目录的符号链接。最好的方法是创建NPM模块(它们可以是私有的,只是不要NPM发布它们),并将它们放入您自己的node\u modules
文件夹中。因为,你可以通过这样的方式来利用这一点
模块:
/node\u modules/MyModule/index.ts
export module MyModule
{
export function doStuff():void
{
//do stuff here
}
}
import MyModule = require('MyModule');
您可以在/node\u modules/MyModule
文件夹中运行npm init
,以创建package.json
文件
主文件:/src/some/other/folder/或/where/main.ts
export module MyModule
{
export function doStuff():void
{
//do stuff here
}
}
import MyModule = require('MyModule');
有符号链接的有趣想法,我不会想到。如果我理解这个index.ts,它会有导入吗?或者我必须在那里实施?因为您的演示似乎是向后的。@ed209index.ts
将是您的包的主文件,并且如果不是所有的逻辑,也会包含一些。是的,它可以有导入,实际上你可以把任何你通常放在模块里的东西都放进去。它可以命名为abcmainfile.ts
,只要在package.json
中命名即可。