为验证此问题,我创建了一个新的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的任何明显问题。因此以下步骤有效:
在index.html中加载ckeditor.js:
< script src =“../ node_modules / ckeditor / ckeditor.js”>< / script>
我不知道为什么但是当你试图将它包含在.angular-cli.json文件中时它就不起作用。
现在ng2-ckeditor工作到目前为止我没有遇到任何问题。当在npm存储库中更新源代码时,我将继续这样做,但是现在我正在编码。
更新
ng2-ceditor 1.1.7版本解决了这个问题。
答案 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.只是尝试使用编辑器