我正在尝试为不同的环境(坐下,闲置,生产)创建分发文件夹。为此,我已经开始为Vue js项目使用.env文件。我正在做纱线坐或npm运行坐。我的病linux框中的文件夹未正确创建。但是在我的Windows计算机上,它可以正常工作。 在我的package.json中,我有针对不同环境的不同脚本。
"sit": "vue-cli-service --mode sit build",
在我的Windows计算机中,这是dist文件夹的创建方式。
我不确定是什么问题。在我的开发人员中,我有“ @ vue / cli-service”:“ ^ 3.0.0-beta.15”
答案 0 :(得分:2)
使用val input = Seq(Map("a" -> 1, "b" -> 2),
Map("a" -> 10, "c" -> 30),
Map("b" -> 200, "c" -> 300, "d" -> 400))
进行构建时,您的val output = Map("a" -> Seq(1, 10),
"b" -> Seq(2, 200),
"c" -> Seq(30, 300),
"d" -> Seq(400))
确实会触发包括您已设置的相应vue-cli-service
文件。但是,无论您拥有多少环境,mode
默认情况下都仅根据.env
开关构建两种不同类型的发行版:
vue-cli-service
(或者您可以使用--mode
指定它;或mode
和--mode production
。默认情况下,当您为--mode sit
进行构建时,您的应用程序将被捆绑在一起,并且您会根据您的设置获得--mode uat
目录,production
等。对于您指定的任何其他js
,它都会构建一个非生产发行版,该发行版没有捆绑该应用程序,因此您不会看到css
文件夹。这是默认设置。
现在,在您的情况下,您要说的是此操作根据操作系统而有所不同。我不知道您的确切设置,但是您在两台计算机上存在环境差异,正在运行不同的命令,或者mode
中存在缺陷,您可能需要为此提出问题。仔细检查您的环境和正在运行的命令。
顺便说一句,如果您要针对不同的环境进行构建,则可能需要在构建命令中添加js
开关,以便可以构建至其他目录-
vue-cli-service
答案 1 :(得分:1)
我终于弄清楚了这个问题。首先,我们可以根据需要使用多个.env文件。如果要使用和创建dist文件夹之类的产品,则必须在文件顶部指定NODE_ENV。例如,如果我希望我的燕麦环境软件包与生产相同(应该与我们必须在服务器上部署的生产相同),则只需在属性文件之前添加NODE_ENV = production。在package.json中,您必须添加
“ prod”:“ vue-cli-service --mode prod build”
在创建软件包时,您可以使用npm run prod或yarn prod。 发生的问题是,对于某些其他要求,我们将NODE_ENV设置为其他值。如果NODE_ENV已经设置为某些垃圾值,则说明软件包的构建未正确进行。但是,当我取消设置环境变量时,一切都很好。 现在,根据环境,我有多个.env文件,我可以创建与生产类似的dist文件夹,以在相应的环境中进行部署。