首页 > 解决方案 > 手动加载我自定义的节点模块(Angular 4.x)

问题描述

我在我的 Angular 4.x 应用程序中使用primeng Calender 功能 - 但是我必须对需要保存在我们的仓库中的插件进行大量自定义,但是目前这个文件存在于node_modules我们不保存到我们的仓库中的位置(但运行npm install安装依赖项) https://www.primefaces.org/primeng/#/calendar

我试图在我的 tsconfig.app.json 中引用它,但我显然做错了 - 将东西从 node_modules 移动到我的src应用程序的最佳方法是什么?

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "baseUrl": "./",
    "module": "es2015",
    "types": ["underscore"]
  },
  "include": [
    "/src/assets/css/primeng/components/calendar/calendar.js"
  ],
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ]
}

标签: javascriptangularnode-modulesprimengprimeng-calendar

解决方案


我在使用 ckeditor 时遇到了同样的问题,下面是我为在我的构建中包含自定义版本的 ckeditor 所做的修改。我相信还有其他方法,但这对我有用。

  • 这将输出到 assets 文件夹中,在对模块进行补丁或更新时,您需要将 assets 文件夹部署到生产服务器。
  • 修改 angular-cli.json

    "assets": [
            "assets",
            { "glob": "**/*", "input": "../direcotryOutsideOfNode_Modules/ckeditor", "output": "./assets/scripts/ckeditor/" }
          ],
    

然后在您的 index.html 中将其添加为脚本标记

<script src="./assets/scripts/ckeditor/ckeditor.js"></script>

推荐阅读