如何在 angular 6 中指定已发布 package.json 与库发布?
How to specify published package.json with library publishing in angular 6?
使用 Angular6 创建节点模块应该非常容易。 Documentation 告诉您这些步骤:
ng generate library YOUR-LIBRARY
ng build YOUR-LIBRARY --prod
cd dist/YOUR-LIBRARY && npm publish
例如,这将在您的 angular.json
中添加一个新项目,在 /projects
中创建一个新目录,并将您的包 compile/transpile 放入 /dist/YOUR-LIBRARY
。太好了,但是我找不到在 dist
目录中指定导出的 package.json
的配置方法。
我试过修改/projects
里面的package.json
但是对分布式package.json
没有任何影响。
它总是看起来像:
{
"name": "YOUR-LIBRARY",
"version": "0.0.1",
"peerDependencies": {
"@angular/common": "^6.0.0-rc.0 || ^6.0.0",
"@angular/core": "^6.0.0-rc.0 || ^6.0.0"
},
"main": "bundles/nls-guilloche.umd.js",
"module": "fesm5/nls-guilloche.js",
"es2015": "fesm2015/nls-guilloche.js",
"esm5": "esm5/nls-guilloche.js",
"esm2015": "esm2015/nls-guilloche.js",
"fesm5": "fesm5/nls-guilloche.js",
"fesm2015": "fesm2015/nls-guilloche.js",
"typings": "nls-guilloche.d.ts",
"metadata": "nls-guilloche.metadata.json",
"sideEffects": false,
"dependencies": {
"tslib": "^1.9.0"
}
}
我什至无法更改版本标签或添加任何信息。当然,手动它会起作用,但这不是解决方案,可以吗?
从 Angular 12.x 开始,每个库都有一个生成的 package.json
,该文件是被复制到输出目录中的文件(dist/
你的情况)。
生成后看起来像这样:
// projects/my-lib/package.json
{
"name": "my-lib",
"version": "0.0.1",
"peerDependencies": {
"@angular/common": "^12.0.0",
"@angular/core": "^12.0.0"
},
"dependencies": {
"tslib": "^2.1.0"
}
}
使用 Angular6 创建节点模块应该非常容易。 Documentation 告诉您这些步骤:
ng generate library YOUR-LIBRARY
ng build YOUR-LIBRARY --prod
cd dist/YOUR-LIBRARY && npm publish
例如,这将在您的 angular.json
中添加一个新项目,在 /projects
中创建一个新目录,并将您的包 compile/transpile 放入 /dist/YOUR-LIBRARY
。太好了,但是我找不到在 dist
目录中指定导出的 package.json
的配置方法。
我试过修改/projects
里面的package.json
但是对分布式package.json
没有任何影响。
它总是看起来像:
{
"name": "YOUR-LIBRARY",
"version": "0.0.1",
"peerDependencies": {
"@angular/common": "^6.0.0-rc.0 || ^6.0.0",
"@angular/core": "^6.0.0-rc.0 || ^6.0.0"
},
"main": "bundles/nls-guilloche.umd.js",
"module": "fesm5/nls-guilloche.js",
"es2015": "fesm2015/nls-guilloche.js",
"esm5": "esm5/nls-guilloche.js",
"esm2015": "esm2015/nls-guilloche.js",
"fesm5": "fesm5/nls-guilloche.js",
"fesm2015": "fesm2015/nls-guilloche.js",
"typings": "nls-guilloche.d.ts",
"metadata": "nls-guilloche.metadata.json",
"sideEffects": false,
"dependencies": {
"tslib": "^1.9.0"
}
}
我什至无法更改版本标签或添加任何信息。当然,手动它会起作用,但这不是解决方案,可以吗?
从 Angular 12.x 开始,每个库都有一个生成的 package.json
,该文件是被复制到输出目录中的文件(dist/
你的情况)。
生成后看起来像这样:
// projects/my-lib/package.json
{
"name": "my-lib",
"version": "0.0.1",
"peerDependencies": {
"@angular/common": "^12.0.0",
"@angular/core": "^12.0.0"
},
"dependencies": {
"tslib": "^2.1.0"
}
}