我创建了一个用于创建仪表板的通用框架,该仪表板由使用Angular-CLI的多个模块组成。
有些模块是完全独立的。使用此库的开发人员可以根据需要在其项目中添加模块。我有一个在Angular Js 1.0中创建的此框架的先前版本,在此我已经作为javascript min文件提供。
我必须注意将这个库创建为私有而不是公开的,或者有没有办法将我的模块单独打包并在没有NPM的情况下交付?
答案 0 :(得分:4)
这个问题归结为两个独立的任务:创建库包并在内部发布它。
为了创建一个支持AOT的库,您需要使用ngc -p src/tsconfig-aot.json
进行编译。
tsconfig-aot.json是tsconfig.json的副本,附加部分:
"files": [
"./app/index.ts"
],
"angularCompilerOptions": {
"annotateForClosureCompiler": true,
"genDir": "../dist/out-lib-tsc",
"skipMetadataEmit" : false,
"skipTemplateCodegen": true,
"strictMetadataEmit": true,
"flatModuleOutFile": "libname.js",
"flatModuleId": "libname"
}
我需要通过将文件从src / app移动到输出目录的根目录来修复目录结构。然后将src / app和src / asserts复制到输出目录。
有几个详细的指南。例如Distributing an Angular Library - The Brief Guide
发布私有库有几种选择: