2016-03-17 71 views
3

我想在我的項目安裝CKEditor的。我正在使用Laravel。安裝的CKEditor與NPM

我知道我可以下載文件,但我喜歡讓我的生活困難,我決定,我要安裝的CKEditor的NPM的依賴。

由於他們的文檔here中陳述,我加入了包的package.json,像這樣:

"dependencies": { 
    "jquery": "^1.11.1", 
    "bootstrap-sass": "^3.0.0", 
    "elixir-coffeeify": "^1.0.3", 
    "laravel-elixir": "^4.0.0", 
    "font-awesome": "^4.5.0", 
    "ckeditor": "^4.5.7" 
} 

現在,我想我有權利要求它在我app.coffee,所以我想:

window.$ = window.jQuery = require('jquery') 
require('bootstrap-sass') 
require('ckeditor') 

這肯定會將ckeditor.js腳本添加到我的app.js.然而,ckeditor似乎有它自己的依賴關係,比如config.js或editor.css,當然服務器響應404這些請求。

我怎麼能安裝CKEDITOR這樣?

謝謝!

回答

9

有可能是與路徑的依賴關係的CKEditor的一個問題。我不知道如果你正在使用browserify或不同的東西,但例如在browserify使用require('ckeditor')將導致ckeditor.js從同一目錄(可能與其他js文件捆綁)文件加載爲您app.coffee文件,而CKEditor的依賴是node_modules/ckeditor/目錄。

告訴CKEditor的從目錄中它應該加載的依賴,你可以使用CKEDITOR_BASEPATH

window.CKEDITOR_BASEPATH = 'node_modules/ckeditor/' 
require('ckeditor') 

您可以查看是否有使用網絡選項卡開發控制檯中加載這些文件有問題(例如Chrome中的F12)。

請注意,它不是生產環境的理想解決方案,因爲您需要在服務器上使用node_modules文件夾。你或許應該只考慮建築/釋放過程中移動這些依賴於其他文件夾(和之前使用CKEDITOR_BASEPATH與路徑此生產文件夾)。