javascript - 使用没有路径的 require() 函数

标签 javascript node.js typescript

我正在开发一个使用 typescript 的 node.js/express 项目。我在导入内容时没有任何问题,但我必须使用以下格式,这种格式很难看/不可扩展

import MyModule = require("../../ModuleFolder/MyModule");

假设我的模块是这样的

export module MyModule
{
    export function doStuff():void
    {
        //do stuff here
    }
}

我不知道如何在不指定路径的情况下引入模块和类。理想情况下,我希望能够像

import MyModule = require("MyModule");

我可以做些什么来使这成为可能或改进这个实现吗?

更新:最终我为此使用了模块,效果很好。

最佳答案

最好的方法是制作 NPM 模块(它们可以是私有(private)的,只是不要 npm publish 它们)并将它们放入您自己的 node_modules 文件夹中.自 using require() automatically looks for these folders ,您可以通过这样的方式利用它...

模块: ./node_modules/MyModule/index.ts

export module MyModule
{
    export function doStuff():void
    {
        //do stuff here
    }
}

您可以在 ./node_modules/MyModule 文件夹中运行 npm init 来创建 package.json 文件。

主文件:./src/some/other/folder/or/elsewhere/main.ts

import MyModule = require('MyModule');

关于javascript - 使用没有路径的 require() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26206086/

相关文章:

node.js - 使用分离的客户端和服务器进行身份验证

node.js - 如何在不覆盖当前数据的情况下更新 Mongoose 中的混合类型字段?

javascript - 如何在 Ionic 中将文本转换为 html 对象

angular - 我可以导出 Sass 变量并将其导入到 Angular Typescript 变量中吗?

javascript - JQuery 函数在其他函数执行后不起作用

javascript - 使用KOA调用ES6类中间件

javascript - node.js 检查远程 URL 是否存在

html - 为什么即使导入依赖项后 mat-form-field 也不起作用?

javascript - SSL23_GET_SERVER_HELLO :unknown protocol [connection to msa (587) port]

javascript - 谷歌地图api v3,定义用户当前位置