代码之家  ›  专栏  ›  技术社区  ›  Jameel Moideen

如何为Angular 2编写可重用的私有库+

  •  2
  • Jameel Moideen  · 技术社区  · 8 年前

    我创建了一个用于创建仪表板的通用框架,该框架使用Angular CLI由多个模块组成。

    有些模块是完全独立的。使用此库的开发人员可以根据需要在其项目中添加模块。我在Angular Js 1.0中创建了这个框架的早期版本,在这个版本中,我以javascript min文件的形式交付。

    要将这个库创建为私有而非公共库,我需要注意哪些事项,或者有没有办法将我的模块打包为单独的模块,并在没有NPM的情况下交付?

    1 回复  |  直到 8 年前
        1
  •  4
  •   Hendrik Brummermann    8 年前

    这个问题归结为两个独立的任务:创建库包和在内部发布它。

    创建库包

    为了创建支持AOT的库,您需要使用 ngc -p src/tsconfig-aot.json

    t配置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