如何在NestJS中从模块外部调用变量和函数?

问题描述 投票:0回答:2

我在

/src/common/helper/cash.helper.ts
中有一些辅助函数。当我从模块调用此函数时,出现以下错误。

Error: Cannot find module './../../../src/common/helper/cast.helper' Require stack:

但是,e2e 测试运行没有任何问题。在这里,您可以看到文件夹结构。

当我将导入更改为绝对路径时

import { toNumber } from 'src/common/helper/cast.helper'
;它正在工作,但 e2e 测试不起作用。

这里出了什么问题?如何在 NestJS 的所有模块中使用通用函数和常量?

node.js nestjs
2个回答
0
投票

我执行了以下操作来解决该问题。

  1. 我将导入更改为绝对路径导入
    { toNumber } from 'src/common/helper/cast.helper'
    ;
  2. 为了修复 e2e 测试,我已将
    "moduleDirectories": ["<rootDir>/../", "node_modules"]
    添加到 jest-e2e.json。

0
投票

嗯,我遇到了同样的问题,但我解决的方法有点不同。

我创建了一个

shared
nest g library shared
在库内部创建一个新的打字稿文件,例如:

//file: /libs/shared/src/general.helper.ts

export function helloworld() {}

并将其导入到控制器中:

import { helloworld } from '@app/shared';
© www.soinside.com 2019 - 2024. All rights reserved.