当前位置: 首页 > 知识库问答 >
问题:

前端 - 请问vue serve/build和npm run serve/build(vue-cli-service serve/build)到底有啥区别和联系啊?

锺离赤岩
2023-09-03

如题,请问vue serve/build和npm run serve/build(vue-cli-service serve/build)到底有啥区别嘞,感觉有点搞不清楚,有没有大佬能帮忙解惑下,万分感谢~

共有1个答案

于嘉誉
2023-09-03

先说 npm run xxx

  1. 执行时,会以当前所在路径为起点,查找当前目录中是否存在 package.json 文件,如果没有,则会进入上一层父级目录,重复这个查找动作。如果直到整个系统的根目录都没有找到,那么就会异常终止。
  2. 在找到之后,会查看文件中的 scripts 配置,并执行对应的 xxx 指令,比如:

    {  "scripts": {    "xxx": "echo 这是一条测试指令~"  }}
  3. 若是不存在 xxx 指令,也就是找不到对应的,则会导致异常终止。

再说 vue xxx,就不特意说 servebuild 了。

首先,vue 这个命令行指令,是在全局安装了 Vue-CLI 之后才可以使用的,也就是说,这是一个 CLI 工具。如果你在安装完成之后,输入 vue 按下回车,可以看到这些内容。

image.png

而当你输入 vue xxx 后,都会在其中寻找有没有对应的指令,有则执行,没有则报错。就和 npm run xxx 很类似了。


虽然看着 npm run xxxvue xxx 好像差不多,但是前者是可以由我们自定义的,后者是固定的。

别看现在几乎都是 npm run dev,那只是开发者都习惯了而已,实际上是可以改的,如:

{  "scripts": {    "dev": "vite",    "serve": "vite",    "start": "vite"  }}
为什么 npm run start 逐渐变成了 npm run dev?因为后者短呀,为什么不更短一些?那就不像话了。

更新:

根据 Vue-CLI@5.0.8 源码示意,vue servevue build 指令是 npm run servenpm run build 的别名。

image.png

 类似资料:
  • 问题内容: 和之间有什么区别? 假设在dockerized项目路径中有一个文件: 和 问题答案: 可以被认为是DockerCLI的包装器(实际上,它是python中的另一种实现,如[注释中所述),以节省时间并避免500个字符长的行(并同时启动多个容器)。它使用一个名为的文件来检索参数。 您可以在此处找到docker- compose文件格式的参考。 因此,基本上,您将阅读,查找包含该语句的所有服务

  • 我开始学习如何使用ionic框架构建移动应用程序 我确实看到有人使用爱奥尼亚构建,其他人使用科尔多瓦构建<我想知道两者之间的区别以及何时使用它们。

  • 问题内容: 一些文章建议现在将其包括在内,而另一些文章建议将多个动作链接在一起时使用。 问题答案: 包含在中,您可以在源代码中看到它 该方法内部调用在内部类的方法。 调用您的代码实际上是两次调用。 建立 生成一个复合动作,其中包含到目前为止可以执行的所有动作(并重置内部构建器状态,因此后续对build()的调用将包含新序列)。 表演 一种无需先调用build()即可执行操作的便捷方法。 这几乎没有

  • 问题内容: 我对这两个术语感到困惑。 另外,我应该怎么做才能在Spring MVC项目的src文件夹下创建文件?当我使用File对象创建文件时,它将在C:\ SpringSourceTool中创建文件。我猜这是ClassPath对吗? 无论如何,如何获取应用程序的文件夹或根目录? 问题答案: 在 构建路径 是用于构建应用程序。它包含所有源文件和编译应用程序所需的所有Java库。 的 类路径 被用于

  • 问题内容: 和之间有什么区别? 我在项目中注意到,有时npm在执行时会开始失败,但是在运行时,它可以正常工作。 如何这两个目标的内部运作,即与不同? 问题答案: 将依赖项安装到您正在处理的节点项目的目录中。您可以调用另一个node.js项目(模块),以将其安装为项目的依赖项。 是的别名,除非您在package.json文件中指定“ build”的作用,否则它什么都不做。它使您可以在将其用于另一个项

  • 问题内容: 根据文档,可以为该标志定义多个args ,但我不知道如何。我尝试了以下方法: =>这将返回错误。 我也尝试过: =>这会将一个变量设置为值“ 5,number_of_replicas = 2” 知道如何定义多个参数吗? 问题答案: 与每个参数一起使用。 如果您要传递两个参数,则在每个参数中添加: