VUE配置uEditor注意事項(主要是ZeroClipboard not defined)

具體怎麼初步引用請移步官方文檔

OR npm上的vue-ueditor文檔


這裏只說明引用注意事項和本人引入時踩到的一些坑

  • 本人的項目目錄結構以下:
  • clipboard.png
  • components下是本人習慣性封裝的組件,也是按需引入的地方,不推薦在main.js中引入全部依賴,前端盆友必定要養成按需引入和懶加載的好習慣(固然也不是萬能的,視實際狀況)
  • uEditor的包文件通常放在static目錄下
  • 須要在ueditor.config.js配置文件中加上這句話,官方註釋也寫的很清楚了
  • clipboard.png
  • 特別注意路徑最後的/
  • 接下來不須要使用上傳圖片功能的同窗須要把這裏註釋掉
  • clipboard.png
  • 固然,按需重定義配置的時候也不要有server這項
  • clipboard.png

接下來若是你報錯

  • clipboard.png
  • 請檢查你是否引入了/lang/zh-cn/zh-cn語言文件以及引入順序是不是config.js-->all.js-->zh-cn-->parse
  • 若是下一步你報錯
  • clipboard.png
  • 而且嘗試過將ZeroClipboard.js源碼
  • clipboard.png
  • (意思就是說檢測當前環境,若是是AMD環境,則以AMD規則暴露模塊,若是是CommonJS環境,則以CommonJS規則暴露模塊,本人使用的是node環境,即CommonJS)
  • 強行全局暴露ZeroClipboard改爲以下
  • clipboard.png
  • 無果!
  • 實例化uEditor以前強行require(ZeroClipboard)仍然無果!
  • 修改ueditor.all.js源碼調用ZeroClipboard以前強行require仍是無果!

那麼你應該看看這裏

  • uEditor的引入很簡單,只須要加載幾個js文件,改一下配置文件的路徑配置,就能夠實例使用了,可是換句話說就是路徑配置對uEditor無比重要,這也是爲何上面強調不要忘了路徑配置最後的/,最後不帶/的絕對路徑跟耍流氓有什麼區別。
  • 話說回來,影響項目路徑配置的因素有不少,本人是基於webpack打包,webpack配置中必定不要忽略以下配置
  • clipboard.png
  • `

// 拷貝static目錄,static目錄咱們做爲存放第三方資源的目錄,無需再次編譯,直接拷貝到構建目錄中前端

new CopyWebpackPlugin([
        {
            from: path.resolve(__dirname, '../static'),
            to: process.env.NODE_ENV === 'production' ? config.build.assetsSubDirectory : config.dev.assetsSubDirectory,
            ignore: ['.*']
        }
    ])
  • 意思就是不要把static目錄下東西給我打包成hash值js結果中,這樣天然在‘/static/ueditor/’裏面找不到依賴了,他們由我直接管理,webpack不要多管閒事
  • webpack此刻心情clipboard.png
  • 還有assetsPublicPath必定要是/,clipboard.png

這裏你本身意淫加了什麼‘@/static/ueditor/’前面@同理還得加什麼,由於你的項目通過webpack打包時引用根路徑就會統一加上@/,瀏覽器解析到source裏的路徑就變成了‘@/static/ueditor/’,一樣build配置項也要保持一致。vue

  • clipboard.png

好了,廢話就說到這裏,該翹班了。
爲了引入這個uEditor的bug曾經調試了一天,害的一週天天都要多加班2h,後面就很少解釋了。
哦,不,多加一句:女裝大佬們輕噴。node

clipboard.png

相關文章
相關標籤/搜索