簡體   English   中英

赫斯基給出錯誤SyntaxError:在嚴格模式下使用const

[英]Husky giving error SyntaxError: Use of const in strict mode

我正在使用赫斯基Lint-stagedStylelint

  "scripts": {
    "precommit": "lint-staged",

  },
  "lint-staged": {
    "*.scss": ["stylelint --syntax scss"
    ]
  },

OS - 最新的OSX

節點 - 6.10.0

NPM - 3.10.00

我在git commit上遇到這個錯誤

> husky - npm run -s precommit

/Users/jitendravyas/app/node_modules/lint-staged/src/index.js:6
const path = require('path')
^^^^^
SyntaxError: Use of const in strict mode.
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/Users/jitendravyas/app/node_modules/lint-staged/index.js:2:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)

> husky - pre-commit hook failed (add --no-verify to bypass)
> husky - to debug, use 'npm run precommit'

我使用節點7.10.0並遇到了同樣的問題。 我發現一個問題記錄在它的回購中mmoutenot發布了一個有趣的回復讓我思考,所以我進一步研究並找到了解決方案!

赫斯基假設每個人都使用nvm管理節點版本並在NVM_DIR設置設置為$HOME/.nvm )或者使用brew BREW_NVM_DIR設置為/usr/local/opt/nvm )進行安裝

如果存在任一路徑,則使用load_nvm加載節點版本。

當我最初開始使用Node時,我確實使用了nvm,但后來繼續使用n並沒有意識到.nvm沒有在主目錄下清理,所以它指向一個舊版本的節點( 0.12.7 ) - 導致上述錯誤。

如果您仍在使用nvm來管理節點版本,請確保更新到支持ES6功能的節點版本(在本例中為const )。

如果您不使用nvm,請確保nvm在上述路徑中不可用。 在這種情況下,赫斯基最終使用當前版本(即在您的情況下為6.10.0

或者,您可以嘗試mmoutenot赫斯基問題上提到的解決方案

我猜你還需要將一些文件傳遞給lint for stylelint:

"scripts": {
  "precommit": "lint-staged",

},
"lint-staged": {
  "*.scss": ["stylelint \"**/*.scss\" --syntax scss"
  ]
},

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM