lerna publish和npm pack未能打包“中的所有文件”;dist";文件夹
我正在尝试使用lerna构建我的第一个Angle组件包,它工作得非常好,直到我意识到我必须添加“ng Packagegr”才能将所有HTML绑定到代码的其余部分。在添加支持并使其工作后,我的文件突然无法发布到tarball中 这是我的package.jsonlerna publish和npm pack未能打包“中的所有文件”;dist";文件夹,npm,lerna,ng-packagr,npm-pack,Npm,Lerna,Ng Packagr,Npm Pack,我正在尝试使用lerna构建我的第一个Angle组件包,它工作得非常好,直到我意识到我必须添加“ng Packagegr”才能将所有HTML绑定到代码的其余部分。在添加支持并使其工作后,我的文件突然无法发布到tarball中 这是我的package.json { "name": "@custom/core", "version": "0.0.7", "description": "Test", "main": "./dist/bundles/custom-core.umd.min
{
"name": "@custom/core",
"version": "0.0.7",
"description": "Test",
"main": "./dist/bundles/custom-core.umd.min.js",
"module": "./dist/esm2015/custom-core.js",
"typings": "./dist/index.d.ts",
"$schema": "./node_modules/ng-packagr/package.schema.json",
"ngPackage": {
"lib": {
"entryFile": "./src/index.ts"
},
"whitelistedNonPeerDependencies": [
"."
]
},
"scripts": {
"build": "ng-packagr -p package.json"
},
"files": [
"dist"
],
...
My dist文件夹包含以下所有类型的文件夹:
但当我运行lerna publish
或npm pack
时,会发生以下情况:
正如您所看到的,只有一个文件被添加到tarball中
有人知道为什么这会突然发生吗?我试着玩弄我的.gitignore,认为这可能是迫使打包忽略这些其他文件,但事实并非如此
更新
好的,我发现罪魁祸首是ng packagr
。当我运行我的npm run build
时,它使用ng packagr-p package.json
来构建不同的模块包,CLI也会生成一个package.json,它位于我的dist
文件夹中。当npm pack
或lerna publish
尝试使用package.json
打包所有内容时,他们必须查看dist
中生成的内容,而不是上面文件夹中的内容
我不确定该如何解决这个问题。我的解决方案是放弃使用package.json文件中的files键的计划,改为使用.npmignore文件。这是我的一份副本:
# Node generated files
node_modules
npm-debug.log
assets
package-lock.json
# aot files
aot
# OS generated files
Thumbs.db
.DS_Store
# Ignored files
*.ts
!*.d.ts
tsconfig.json
tsconfig-aot.json
tslint.json
*.tgz
config
src
我当前的“hack”是将“*”放在package.json的“files”属性中,这也将添加所有源文件。我不希望在这个发布的工件中包含源文件,但是如果这是使它工作的唯一方法的话