2017-06-18 77 views
1

對於我的Sails項目,我需要CoffeeScript 2.x.這是我做了什麼:從我的系統 Make Sails使用正確的CoffeeScript版本

  • npm install [email protected] --save
  • packages.json

    • 完全去除的CoffeeScript是用我自己的依賴以下:

      "dependencies": { 
          "coffeescript": "^2.0.0-beta2", 
      // ... 
      

      當我手動編譯控制器:

      node-modules/.bin/coffee -c api/controllers/MyController.coffee 
      

      我得到正確的輸出。但是,當我啓動Sails(node --inspect app.js)時,我可以在調試器中看到控制器已使用舊版本的coffeescript編譯。這是甚麼可能,因爲2.0.0-beta2是唯一安裝的版本?

      如何讓Sails使用正確版本的CoffeeScript?

    回答

    0

    拉出大部分頭髮後,我終於得到了一些有用的東西。但這不是一個理想的解決方案,所以更好的想法是受歡迎的。

    1. grunt-contrib-coffee,編輯其package.json依靠的CoffeeScript的版本,我需要。
    2. grunt並作出類似的編輯。
    3. 叉子sails並編輯相關分支來更新依賴關係,現在指定爲github:mssever/gruntgithub:mssever/grunt-contrib-coffee。還有一個直接的coffeescript依賴性來更新。
    4. 編輯項目package.json以反映上述依賴關係。
    5. 卸載系統範圍sails並手動刪除myproject/node-modules下的符號鏈接,否則您會遇到難以理解的權限錯誤。
    6. 終於!運行npm update。如果您需要進一步更新,不要考慮會發生什麼,因爲這將是一個非常頭疼的問題。