我正在尝试为不同的环境(sit、uat、生产)创建分发文件夹。为此,我开始在我的 Vue js 项目中使用 .env 文件。我正在做 yarn 坐或npm运行坐。我的问题。 Linux 盒子中的文件夹未正确创建。但在我的windows机器上它工作正常。 在我的 package.json 中,我有针对不同环境的不同脚本。
"sit": "vue-cli-service --mode sit build",
在我的 Windows 计算机中,这就是 dist 文件夹的创建方式。
我不确定是什么问题。在我的开发环境中,我有 "@vue/cli-service": "^3.0.0-beta.15"
最佳答案
当您使用 vue-cli-service
构建时,您的 mode
确实会触发,包括您设置的相应 .env
文件。但是,无论您拥有多少环境,vue-cli-service
默认情况下仅构建两种不同类型的发行版,具体取决于 --mode
开关:
- 生产,这是默认的
模式
(或者您可以使用--mode production
指定它;或者 - 非生产,在您的情况下,是
--mode sat
和--mode uat
。
默认情况下,当您为生产
构建时,您的应用程序将被捆绑在一起,并且根据您的设置,您将获得js
目录、css
等。对于您指定的任何其他模式
,它会构建一个没有捆绑应用程序的非生产发行版,因此您将看不到js
文件夹。这是默认情况。
现在,就您的情况而言,您所说的是,根据操作系统的不同,其执行情况也有所不同。我不知道您的具体设置,但是您要么两台机器上的环境存在差异,正在运行不同的命令,要么 vue-cli-service
中存在缺陷,您可能需要提出该缺陷的一个问题。双重/三次检查您的环境和正在运行的命令。
顺便说一句,如果您尝试针对不同的环境进行构建,您可能需要将 dest
开关添加到构建命令中,以便可以构建到不同的目录 - 类似于:
"sit": "vue-cli-service build --mode sit --dest ./dist/sit",
"uat": "vue-cli-service build --mode uat --dest ./dist/uat",
"production": "vue-cli-service build --mode production --dest ./dist/production"
关于npm - 为 Vue JS 项目构建 dist 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51938234/