新到Vue,并使用@vue/cli 4.4.6。
我使用Vue CLI来创建我的项目,并注意到在node_modules/.bin目录( Vue CLI创建的)下,有--在许多其他二进制文件中--一个名为vue-cli-service的二进制文件,它似乎是Vue CLI构建工具。
这对我来说有点奇怪,来自一个主要的“后端”背景,使用外部构建工具,如Gradle、Maven和SBT,将构建工具嵌入到项目中!我本以为您会将vue-cli-service下载为命令行工具(就像我对vue-cli所做的那样),然后将其定向到您想要构建的项目。但这就像每个Java项目一样,每个Java项目都包含Gradle或Maven本身的副本!这真的是一个合适的Vue项目的意图,还是我搞砸了什么?
我之所以问是因为vue create hello-world创建了一个.gitignore,其中特别列出了node_modules .
...so不是相互排斥的约定吗?
vue create hello-world创建一个“原始”(未构建)项目,其中包含node_modules/.bin/vue-cli-service,这似乎是构建它的方法。但它也提到了.gitignorenode_modules创建了一个新项目并能够构建它,并将其推到git中。因为node_modules列在.gitignore中,所以构建工具没有包含在.gitignore #2中,它将回购工具拉下来处理一个新的特性分支。但是哇哦。由于node_modules/.bin/vue-cli-service被忽略了,所以它们在本地分支中没有它,因此无法构建它。我知道我一定是错过了什么,我只是不知道是什么。有人有什么想法吗?
发布于 2021-01-02 01:55:53
在Node项目中,构建实用程序在项目的specified as devDependencies中是常见的,这是可以接受的,因为这些实用程序本身的大小通常相对较小,安装速度也较快。开发人员机器上只应预装Node和包管理器(npm或yarn)。
开发人员需要安装这些package.json依赖项来引导开发(如果存在npm install或npm ci ),类似于项目成功构建需要安装必备Gradle/Maven构建插件的方式。在package.json中指定的每个依赖项的版本字符串(总是提交给源代码管理)确保所有开发人员和CI都使用相同版本的依赖项。
https://stackoverflow.com/questions/65523238
复制相似问题