如果节点模块在那里,vue-cli-service怎么会因为'@ vue / cli-plugin-babel'模块而崩溃?

时间:2019-04-10 12:15:45

标签: javascript npm vuejs2 vue-cli vue-cli-3

某些背景

我从a clone of this repository开始了我的项目。这是an example of the code。一段时间后,我意识到它使用的vue-cli-service似乎很旧。 (他们甚至将其重命名为“ @ vue / cli-service”)。因此,我运行了npm update。代码使我使用npm run serve来启动服务。它显然等效于npx vue-cli-service serve。当我这样做时,它无法加载一些引导程序内容。我重新安装了引导程序(npm install bootstrap@version(无法访问我使用的确切行)。然后它说找不到'@ vue / cli-plugin-babel'。我在node_modules文件夹中看到了它

我使用以下过程对其进行了修复:

  1. 我跑了npm update
  2. 它首先说找不到字体(不再有具体细节)。错误指向bootstrap.css文件。
  3. 我重新安装了引导程序。
  4. 我运行npm run serve,它说“找不到模块'@ vue / cli-plugin-babel'”
  5. 我看到了'@ vue / cli-plugin-babel'showing in the node_modules folder
  6. 我运行npm list --depth=0,并且'@ vue / cli-plugin-babel'没有出现。 I*’m seeing this
  7. npm cache clean --force本身并不能使站点恢复。它仍然说“找不到模块'@ vue / cli-plugin-babel'”。
  8. 遵循the top SO answer here之后,我的网站重新开始工作。
    1. rm -rf node_modules/
    2. npm cache clean(然后在npm的提示符下替换为npm cache verify
    3. npm install(我想知道是否有可能忽略“ rm -rf node_modules /”并仅执行最后两个步骤)。
  9. 我运行npm run serve,该站点再次正常运行。
  10. 再次运行npm list --depth = 0后,there are no more UNMET DEPENDENCY issues, like with #6

在该SO问答中,人们还谈到了重组(重新排序)package.json文件。在最重要的回答中,他说可能的解决方案是“重新构建package.json。将所有高级模块(作为其他模块的依赖项)放在底部。”。我想知道这是否与我的问题有关。

我的预期结果与实际结果:

当我更新它时,我实际上期望它会破裂。我明白了。

但是我也期望的是:

  1. 如果节点模块在那里,它不会给我一个错误。
  2. 如果我运行npm install,将自动处理所有依赖项。
  3. 如果npm install不能解决问题,那么npm cache clean --force应该可以解决问题。 (注意:我后来了解了npm cache verify)。

我知道了

  1. “ @ vue / cli-plugin-babel”模块在那里 并显示错误消息,提示找不到。
  2. (还有3.)。运行npm installnpm install [unmet-dependency]直到'rm -rf node_modules /'->'npm verify cache'然后THEN->'npm install'后才起作用。 / li>

这是我的猜测:

  • @ vue / cli服务不会直接检查文件夹以查看是否存在模块(75%的可能性是真的)
  • @ vue / cli服务使用代理,类似于packages.json文件(但有所不同),以查看是否存在节点(占40%)。
  • @ vue / cli服务会缓存常用的内容。因此,当我在更新后再次运行它时,它没有检查文件夹中的新内容,而是检查了其缓存。它没有排队。 (10%)。
  • 对于上述所有内容,请将@ vue / cli服务替换为npm(10%)。

同样,我最大的问题是“如果节点模块在那里,vue-cli-service怎么会因为'@ vue / cli-plugin-babel'模块而崩溃?” < / p>

”“如何删除node_modules文件夹,验证缓存并使用npm重新安装,导致npx vue-cli-service serve再次成功运行我的站点(并找到@ vue / vue-plugin-babel)?” < / strong>。

0 个答案:

没有答案