我可以在本地计算机上正常启动我的节点应用程序,但是如果我随后从服务器上的github提取项目并使用npm start
启动它,则会出现此错误:
找不到模块'../ models / user'。
import User = require('../ models / user');
registrationController.ts 试图访问模型/用户。
这是我导入该文件的方式:
import User = require('../models/user');
这是我的文件夹结构。在突出显示的文件中出现错误:
这是我的npm start
脚本:
"scripts": {
"start": "nodemon --watch '*.ts' --exec 'ts-node' app.ts"
}
答案 0 :(得分:1)
这不是在控制器中使用用户模型的正确语法,您应该按如下所示直接将所需模型分配给变量(const或var):
const User = require('../models/user');
此link详细介绍了两种方式(导入和要求)。
答案 1 :(得分:1)
似乎将es6语法与较旧的语法混合在一起
如果要将该模块导出为默认导出,请使用这种方式
import User from '../models/user';
否则使用
const User = require('../models/user')
确保您要导出的模块是这样的
module.exports = <Your Module>
答案 2 :(得分:0)
我的文件名是Bitbucket上的User.ts而不是user.ts
我之前使用user.ts将其推送到了bitbucket,但文件名没有更改!!!所以我不得不从bitbucket中删除整个项目