使用 Angular6 创建节点模块应该很容易。 Documentation告诉你这些步骤:
ng generate library YOUR-LIBRARY
ng build YOUR-LIBRARY --prod
cd dist/YOUR-LIBRARY && npm publish
例如,这将在您的
angular.json
中添加一个新项目。 , 在 /projects
中创建一个新目录并将你的包编译/转译成/dist/YOUR-LIBRARY
.太好了,但是我找不到指定导出的配置方法 package.json
里面dist
目录。我尝试修改
package.json
里面 /projects
但它对分布式 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"
}
}
关于javascript - 如何使用 Angular 6 中的库发布指定已发布的 package.json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51061800/