通过 grunt 使用 babel-cli 转译 javascript 代码。在编译包含类定义的第一个 javascript 文件时看到错误“path.inShadow 不是函数”。
我相信我已经完全更新了节点和所有软件包(我是节点生态系统的新手,所以我可能在这里遗漏了一些东西)。
这是显示我的开发依赖项的片段。
“开发依赖”:{ "@babel/core": "^7.2.2", "babel-cli": "^6.26.0", "babel-core": "^6.26.3", "babel-preset-env": "^1.7.0", “咕噜”:“^1.0.3”, "grunt-babel": "^8.0.0", "grunt-contrib-clean": "^2.0.0", "grunt-contrib-compress": "^1.4.3", "grunt-contrib-concat": "^1.0.1", "grunt-contrib-copy": "^1.0.0", "grunt-contrib-jasmine": "^2.0.3", "grunt-contrib-jshint": "^2.0.0", "grunt-contrib-rename": "^0.2.0", "grunt-contrib-uglify": "^4.0.0", “grunt-contrib-watch”:“^1.1.0” }
我相信我的安装是最新的,因为:
- npm install 什么都不做
- npm outdated 什么也没显示
- npm prune 什么都不做
节点版本为 10.15.0。
在 Mac 上,以防万一
编译中止并显示错误消息:
警告:path.inShadow 不是函数使用 --force 继续。
当时它似乎正在编译一个包含类定义的javascript文件,前面成功转换的文件都没有包含这样的定义。