typescript - 未找到模块 - 打字稿 cli
问题描述
这是我的项目:https ://github.com/CrunchyArtie/pile-de-la-honte-cli
当在本地(npm run dev
或npm i -g .
)使用它时它正在工作,但是当我使用由它构建的存档npm pack
或在发布后安装它时,它不起作用。
错误 :
internal/modules/cjs/loader.js:796
throw err;
^
Error: Cannot find module './models/questions/home.question'
Require stack:
- C:\Users\lundi\AppData\Roaming\npm\node_modules\pile-de-la-honte\dist\index.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:793:17)
at Function.Module._load (internal/modules/cjs/loader.js:686:27)
at Module.require (internal/modules/cjs/loader.js:848:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (C:\Users\lundi\AppData\Roaming\npm\node_modules\pile-de-la-honte\dist\index.js:10:25)
at Module._compile (internal/modules/cjs/loader.js:955:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
at Module.load (internal/modules/cjs/loader.js:811:32)
at Function.Module._load (internal/modules/cjs/loader.js:723:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'C:\\Users\\lundi\\AppData\\Roaming\\npm\\node_modules\\pile-de-la-honte\\dist\\index.js'
]
}
而 dist 文件夹只有容器index.js
。
我尝试添加到package.json
:
main: "dist/index.js",
bin: "dist/index.js"
这个 tsconfig :
"extends": "@tsconfig/recommended/tsconfig.json",
"include": [
"src/**/*"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
],
"compilerOptions": {
"outDir": "dist",
"lib": [
"es6",
"es2015",
"dom",
"es2019",
"es2017",
"es7"
],
"target": "es5",
"module": "commonjs",
"declaration": true,
"rootDir": "src",
"strict": true,
"types": ["node"],
"esModuleInterop": true,
"resolveJsonModule": true,
"baseUrl": ".",
"paths": {
"./*": [
"dist/*"
]
}
}
解决方案
问题:.gitignore
那里有文件dist
夹。
解决方案 :
- 复制
.gitignore
, - 将此新文件重命名为
.npmignore
, - 打开
.npmignore
并删除关于dist
文件夹的行。
为什么: Npm 将打包整个项目期望:
- 如果没有
.gitignore
or.npmignore
,则什么都没有 .npmignore
如果此文件存在,则列出的内容。- 如果此文件
.gitignore
存在但不存在.npmignore
.
推荐阅读
- javascript - 使用 react-router-dom 进行授权和认证
- r - baggedModel (fn="ets") 函数用于每周数据?
- asp.net - 解析ajax json响应
- c++ - C++:数据类型和数组
- firebase - 向 Google Authentication 提供用户创建的密码时,密码要求是什么?
- javascript - 为什么我的元素在添加后立即消失?
- for-loop - 从最大 x 轴值和给定刻度宽度正确设置 x 轴刻度线的函数
- c++ - 是否可以与类同时派生类属性?
- r - 在R中将字符串日期转换为日期
- jquery - 单击复选框标签并从数组中添加/删除其值时获取复选框值