问题描述
请原谅我的菜鸟问题。我没有打字稿的经验。我需要在任何示例代码中替换我的存储库名称和项目名称。
我正在尝试创建 sequlize-auto 的分支,以便我可以修改生成的模型标题输出。也想适配一下,同时生成Vuex ORM模型。
我已将 repo 从 sequelize/sequlize-auto 分叉到我自己的 repo(我的 repo 名称/sequelize-auto),并且我尝试使用 npm 进行安装:
npm install https://github.com/<my repo name>/sequelize-auto/tarball/master
还有:
npm install <my repo name>/sequelize-auto
当我尝试在 PowerShell 中运行命令时:
node_modules\.bin\sequelize-auto -o "./api/models/new" .......
我收到以下错误:
node:internal/modules/cjs/loader:928
throw err;
^
Error: Cannot find module './lib/auto'
Require stack:
- D:\projects\<my project name>\node_modules\sequelize-auto\index.js
- D:\projects\<my project name>\node_modules\sequelize-auto\bin\sequelize-auto
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:925:15)
at Function.Module._load (node:internal/modules/cjs/loader:769:27)
at Module.require (node:internal/modules/cjs/loader:997:19)
at require (node:internal/modules/cjs/helpers:92:18)
at Object.<anonymous> (D:\projects\<my project name>\node_modules\sequelize-auto\index.js:1:18)
at Module._compile (node:internal/modules/cjs/loader:1108:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
at Module.load (node:internal/modules/cjs/loader:973:32)
at Function.Module._load (node:internal/modules/cjs/loader:813:14)
at Module.require (node:internal/modules/cjs/loader:997:19) {
code: 'MODULE_NOT_FOUND',requireStack: [
'D:\\projects\\<my project name>\\node_modules\\sequelize-auto\\index.js','D:\\projects\\<my project name>\\node_modules\\sequelize-auto\\bin\\sequelize-auto'
]
}
但是,如果我 npm install sequelize/sequelize-auto
并运行命令,模型生成没有任何问题。
我还尝试使用 package.json 中的脚本 npm run build
和 npm run prepack
:
"scripts": {
"tsc": "tsc","clean": "rimraf lib && rimraf types && rimraf **/models && rimraf *.tgz","build": "npm run clean && tsc","prepack": "crlf --set=LF bin/sequelize-auto","test": "npm run test-mssql && npm run test-MysqL && npm run test-postgres && npm run test-sqlite","test-postgres": "cross-env DEBUG='sequelize-auto:*' DIALECT=postgres nyc mocha","test-postgres-native": "cross-env DEBUG='sequelize-auto:*' DIALECT=postgres-native nyc mocha","test-MysqL": "cross-env DEBUG='sequelize-auto:*' DIALECT=MysqL nyc mocha","test-sqlite": "cross-env DEBUG='sequelize-auto:*' DIALECT=sqlite nyc mocha","test-mssql": "cross-env DEBUG='sequelize-auto:*' DIALECT=mssql nyc mocha","coveralls": "nyc report --reporter=text-lcov | coveralls"
},
我也尝试删除 node_modules
文件夹、package-lock.json
和 npm install
,但都没有成功。
我是否遗漏了任何构建步骤、错误地将其推送到 github 存储库或错误地使用了 npm install
?或者我遗漏的任何其他问题?
任何帮助将不胜感激。提前致谢。
解决方法
我找到了解决方案。只需要从 lib
中删除 .gitignore
,以便将转换后的 JavaScript 推送到我的存储库。