为Vue JS项目构建一个dist文件夹

时间:2018-08-20 20:43:28

标签: npm webpack vue.js vuejs2

我正在尝试为不同的环境(坐下,闲置,生产)创建分发文件夹。为此,我已经开始为Vue js项目使用.env文件。我正在做纱线坐或npm运行坐。我的病linux框中的文件夹未正确创建。但是在我的Windows计算机上,它可以正常工作。 在我的package.json中,我有针对不同环境的不同脚本。

"sit": "vue-cli-service --mode sit build",

在我的Windows计算机中,这是dist文件夹的创建方式。 winddows machine dist folder

linux box dist folder

我不确定是什么问题。在我的开发人员中,我有“ @ vue / cli-service”:“ ^ 3.0.0-beta.15”

2 个答案:

答案 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开关构建两种不同类型的发行版:

  1. 生产,它是默认的vue-cli-service(或者您可以使用--mode指定它;或
  2. 非生产,在您的情况下为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文件夹,以在相应的环境中进行部署。