相关疑难解决方法(0)

即使tsc成功设法解决它,也找不到Typescript模块

我有一个用Typescript编写的Node.js项目,它应该作为CLI运行,并且无法node_modules使用绝对路径导入位于目录外的模块(相对路径工作正常).可能很重要的是,我正在使用oclif框架来构建我的CLI.

我的项目安排如下:

cli
 |--node_modules
 |--src
     |--my-module.ts
     |--subdir
          |--index.ts
Run Code Online (Sandbox Code Playgroud)

my-module.ts我有:

 export class MyClass {
     myClassFcn(s: string) {
         return 'result'
     }
 }
Run Code Online (Sandbox Code Playgroud)

index.ts脚本包含以下内容:

 import {MyClass} = require('my-module')
Run Code Online (Sandbox Code Playgroud)

当我尝试用ts-node执行我的应用程序时,我明白了

(node:10423) [MODULE_NOT_FOUND] Error Plugin: cli: Cannot find module 'my-module'
    module: @oclif/config@1.6.17
    task: toCached
    plugin: cli
    root: /home/eschmidt/Workspace/cli
    Error Plugin: cli: Cannot find module 'my-module'
        at Function.Module._resolveFilename (internal/modules/cjs/loader.js:571:15)
        at Function.Module._load (internal/modules/cjs/loader.js:497:25)
        at Module.require (internal/modules/cjs/loader.js:626:17)
        at require (internal/modules/cjs/helpers.js:20:18)
        at Object.<anonymous> (/home/eschmidt/Workspace/cli/src/commands/create/index.ts:5:1)
        at Module._compile (internal/modules/cjs/loader.js:678:30)
        at Module.m._compile (/home/eschmidt/Workspace/cli/node_modules/ts-node/src/index.ts:403:23)
        at …
Run Code Online (Sandbox Code Playgroud)

command-line-interface node.js typescript ts-node oclif

4
推荐指数
1
解决办法
4033
查看次数