2017-03-21 56 views
32

在开发Vue应用程序后,vue-cli应该怎么做?如何部署Vue应用程序?

Angular有一些命令将所有脚本绑定到一个脚本中,然后将这些文件发送到主机。

Vue

+0

它应该是cli的一部分,这里是部署文档页面https://vuejs.org/v2/guide/deployment.html根据您拥有的版本,您使用的是什么模板,它可能会有所不同。但是您应该指定您正在进行生产构建,就像在文档中一样。 – sniels

+2

我使用2.2.1 vue。我看到了文档,但没有关于部署的信息。我没有在hoster上使用nodejs。所以,当我启动它在本地主机它工作,但是当我的所有文件下载到主机供应商,有什么 – artem0071

+2

在页面上。当你做一个构建,它可能会编译所有的文件(HTML,CSS,JS),以A/DIST夹。此dist文件夹应该是您的主机上的应用程序的根目录。 (我还没有使用Vue2,但我敢打赌,它会在那里) – sniels

回答

49

我想你已经创建了你的项目是这样的:

vue init webpack myproject 

好了,现在你可以运行

npm run build 

复制的index.html和/距离/文件夹到你的网站根目录。完成。

+0

是否不需要运行'npm start'或类似的东西? –

+0

@nueverest如果你刚刚用'vue init webpack myproject'创建了你的项目,你将在控制台中看到更多的说明:'cd myproject','npm install'。在'npm install'之后,下载所有软件包,并且vue可以通过'npm run dev'进行编译以用于开发服务器+热重载,或者使用'npm run build'来创建可部署的软件包。 – wostex

+0

这似乎不适用于vue路由器...我做错了什么? –

5

如果您已经创建使用项目:

vue init webpack myproject 

你需要你的NODE_ENV设置为生产和运行,由于该项目具有配置为开发和生产网络包:

NODE_ENV=production npm run build 

复制dist/目录到您的网站根目录。

如果您使用Docker进行部署,则需要一个快速服务器,服务于dist/目录。

Dockerfile

FROM node:carbon 

RUN mkdir -p /usr/src/app 

WORKDIR /usr/src/app 
ADD . /usr/src/app 
RUN npm install 

ENV NODE_ENV=production 

RUN npm run build 

# Remove unused directories 
RUN rm -rf ./src 
RUN rm -rf ./build 

# Port to expose 
EXPOSE 8080 
CMD [ "npm", "start" ] 
+0

您是否将该容器暴露给外部,或者您使用nginx或apache作为代理? – Hakim

+0

是的,你会使用Apache或Nginx作为代理,端口80 – akinjide

0

做最好的和干净的方法,是导入服务器上的项目,并运行从服务器的终端npm run build,安装项目的所有模块和依赖关系之后。 稍后,您可以在您的package.json上创建一些脚本,并为其提供像npm run deploy这样的命令,以便从本地计算机自动进行部署。

这样,你就不会有vue-router问题(除非你没有正确配置你的项目),也不需要“移动你的index.html和/ dist /文件夹”。