删除了依赖,重新安装报错了

[ERRO] 构建错误 Module build failed (from ./node_modules/@hap-toolkit/dsl-xvm/lib/loader/manifest-loader.js):
[1] TypeError: _loaderUtils.default.getOptions is not a function
[1] at Object.module.exports (/Users/dingcong/workspace/lianxin/lianxin-hap/node_modules/@hap-toolkit/dsl-xvm/lib/loader/manifest-loader.js:1:1812)

若 hap-toolkit 从 0.0.37 升级上来,有比较大的改动,其中需要注意的是:

  1. 项目下面的 .babelrc 文件变更为 babel.config.js 文件。babel.config.js 内容如:
module.exports = function(api) {
  api.cache(true);
  return {
    presets: ["@babel/preset-env"],
    plugins: ["@babel/plugin-transform-modules-commonjs"],
    babelrcRoots: [".", "node_modules"]
  };
};

.babelrc 文件需要删除。

  1. 项目的基础依赖只需要以下模块,package.json 里的 devDependencies 字段如:
{
  "devDependencies": {
    "babel-eslint": "^10.0.1",
    "eslint": "^5.12.1",
    "eslint-plugin-hybrid": "0.0.5",
    "hap-toolkit": "^0.4.3"
  }
}

如果 babel.config.js 一样依然报错,可以:

  1. 删除 package-lock

  2. 依赖中添加 loader-utils(有些项目依赖了低版本的"loader-utils", 没有 getOptions 方法。但是 dsl-xvm 包本身依赖的是新版,很奇怪的 bug,应该算 npm 的 bug)

results matching ""

    No results matching ""