代码之家  ›  专栏  ›  技术社区  ›  Baga

NodeJS-在Linux中找不到自定义模块。在windows中工作正常

  •  1
  • Baga  · 技术社区  · 6 年前

    下面是我的文件夹结构

    --package.json
    --node_modules
    --dist
    --server.js
    ----app
    ------driver
    ------utils
    

    在“driver”文件夹中,我有driver。模型引用BaseValidator的ts文件

    import { BaseValidator } from '../utils/BaseValidator';
    export class LoginDriverModel extends BaseValidator {
    ...
    }
    

    在“utils”文件夹中,我有一个名为BaseValidator的文件。ts类

    export class BaseValidator {
    }
    

    现在,在设置环境变量NODE\u ENV=dev之后,在windows和linux中运行以下命令时

    node server.js    [works fine in windows]
    nodejs server.js  [uncaughtException: Cannot find module '../utils/BaseValidator' in Linux]
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Baga    6 年前

    在相同的情况下,如果文件名和类名相同,那么这个问题似乎会发生在Linux中。将文件名从“BaseValidator”更改后,问题得到解决。ts“到”baseValidator。ts’。

    引用类如下所示,

    import { BaseValidator } from '../utils/baseValidator';
    export class LoginDriverModel extends BaseValidator {
    ...
    }