如何解决ng2-ckeditor

时间:2017-04-30 18:11:17

标签: angular npm

为验证此问题,我创建了一个新的Angular项目:

$ ng new cktest
installing ng
  create .editorconfig
  create README.md

我在app组件中添加了一些简单的html输入,并使用 ng serve 运行它以确保一切正常。然后添加编辑器:

$ npm install ckeditor --save
cktest@0.0.0 /Users/me/WebstormProjects/cktest
└── ckeditor@4.6.2 

下:

$ npm install ng2-ckeditor --save
cktest@0.0.0 /Users/me/WebstormProjects/cktest
└── ng2-ckeditor@1.1.6 

npm WARN ng2-ckeditor@1.1.6 requires a peer of @angular/core@^2.1.0 but none was installed.
npm WARN ng2-ckeditor@1.1.6 requires a peer of @angular/forms@^2.1.0 but none was installed.
npm WARN ng2-ckeditor@1.1.6 requires a peer of @angular/common@^2.1.0 but none was installed.

此时我的 package.json

 "dependencies": {
    "@angular/common": "^4.0.0",
    "@angular/compiler": "^4.0.0",
    "@angular/core": "^4.0.0",
    "@angular/forms": "^4.0.0",
    "@angular/http": "^4.0.0",
    "@angular/platform-browser": "^4.0.0",
    "@angular/platform-browser-dynamic": "^4.0.0",
    "@angular/router": "^4.0.0",
    "ckeditor": "^4.6.2",
    "core-js": "^2.4.1",
    "ng2-ckeditor": "^1.1.6",
    "rxjs": "^5.1.0",
    "zone.js": "^0.8.4"
  },

所以似乎 ng2-ckeditor 被编写为使用比我更早版本的 angular 。有没有简单的方法来解决这个问题?

更新:我有一个临时的解决方法。

我为ng2-ckeditor提取了源代码(git clone https://github.com/chymz/ng2-ckeditor.git)。阅读代码我找不到Angular 4与Angular 2的任何明显问题。因此以下步骤有效:

  1. 将ng2-ckeditor项目中的src目录复制到我自己的文件夹中的应用程序中。它只是几个.ts文件。
  2. 卸载(npm uninstall)ng2-ckeditor,使其不再位于node_modules目录中。我认为这不是必要的,但它消除了意外进口的可能性。
  3. 在app.module.ts中重做CKEditorModule的导入,以引用在步骤1中创建的文件夹。
  4. 在index.html中加载ckeditor.js:

    < script src =“../ node_modules / ckeditor / ckeditor.js”>< / script>

  5. 我不知道为什么但是当你试图将它包含在.angular-cli.json文件中时它就不起作用。

    现在ng2-ckeditor工作到目前为止我没有遇到任何问题。当在npm存储库中更新源代码时,我将继续这样做,但是现在我正在编码。

    更新

    ng2-ceditor 1.1.7版本解决了这个问题。

2 个答案:

答案 0 :(得分:1)

是的,你可以看到它的依赖性 - 它是Angular 2(以前版本的Angular,Angular 3不存在)。您可以在项目中使用Angular 2,并在计划升级时联系ng2-ckeditor项目的代码维护者。

https://github.com/chymz/ng2-ckeditor/blob/master/package.json

"devDependencies": {
  "@angular/common": "^2.1.0",
  "@angular/compiler": "^2.1.0",
  "@angular/compiler-cli": "^2.1.0",
  "@angular/core": "^2.1.0",
  ...
},

答案 1 :(得分:1)

我检查了角度2.4的ckeditor。它工作正常。角度2.4在很多情况下== angular 4.只是尝试使用编辑器