使用require()函数没有path
我正在使用打字稿的node.js / express项目。我没有任何问题导入的东西,但我必须使用以下格式是丑陋/不可扩展
import MyModule = require("../../ModuleFolder/MyModule");
假设我的模块看起来像这样
export module MyModule { export function doStuff():void { //do stuff here } }
我不知道如何拉入模块和类没有指定的path。 理想情况下,我希望能够像这样拉
import MyModule = require("MyModule");
有什么我可以做到这一点,或改善这种实现?
更新:最终我最终使用这个模块,这工作得很好。
如果你在中指定一个脚本
var Name = require ('name')
比nodeJS自动查找node_modules中的目录“名称”和里面的模块定义。 如果你在其他地方有你的模块,那么你需要指定path。 或者在node_modules
创build指向你的模块目录的符号链接。
最好的方法是制作NPM模块(它们可以是私有的,只是不要npm publish
它们),并把它们放到你自己的node_modules
文件夹中。 由于使用require()
自动查找这些文件夹 ,您可以利用这种方式在您身边…
模块 : ./node_modules/MyModule/index.ts
export module MyModule { export function doStuff():void { //do stuff here } }
您可以在该./node_modules/MyModule
文件夹中运行npm init
来创buildpackage.json
文件。
主文件 : ./src/some/other/folder/or/elsewhere/main.ts
import MyModule = require('MyModule');