十二、VueJs 填坑日记之项目打包发布

通过上一篇博文的学习,我们其实已经完成了我们设想的项目的开发。但是,我们做好的这套东西,是基于 nodejs 开发的。而我们最终希望,我们开发的项目,生成好一堆文件,然后随便通过任何一个 http 服务就能跑起来,也就是,还原成我们熟悉的 html+css+js 的模式。这章,我们来讲解这部分内容。另外我的博客即将同步至腾讯云+社区,邀请大家一同入驻。

打包项目 进入到我们的项目根目录

d:
cd vueworks/my-vue

然后运行如下代码,进行打包:

npm run build

结果如下:

现在我们已经把项目打包好,打完好的项目默认位置在/dist文件夹里。

我们从打包时的cmd的日志来看,里面有很多的map文件的生成,由于截图有限,上面只是截取了结尾,大家可以向上滚动一下,就可以看到,如果项目比较大的时候,这些文件一个是比较大,另一个就是编译比较慢。所以我们把这些map文件去掉。

去掉 map 文件 打开 /config/index.js 文件,找到其中的productionSourceMap: true,大根在build下。默认是true,修改为false:

productionSourceMap: false,

然后重新打包

npm run build

大家可以看日志,这次map文件已经没有了,到这里我们就完成了项目的打包。上面有个Tip,提示我们打包完的项目,必须要在http server下才能运行。

安装http server 我们进入 dist 文件夹,然后启动一个 http 服务,来看看可以不可以访问。你可能不知道如何启动这样一个 http 服务,或者,你现在已经到 apache 里面去进行配置去了。不用那么麻烦,我们有 nodejs 环境,只要全局安装一个 http-server 服务就好了呀。

npm install http-server -g

在安装的过程,大家可以用cnpm来代替npm。在windows上安装完,直接就可以运行了。切换到dist目录,运行

http-server -p 3000

如果你是严格按照我的教程来的,那么现在已经可以顺利的跑起来了。我们在浏览器中输入 http://127.0.0.1:3000 就应该可以访问了。当然,会报错,说是接口找不到,404错误。因为我们把接口给通过代理的方式开启到了本地,但是这里我们并没有开启代理,所以就跑不起来了。很正常的。这是因为示例的接口的问题。实际开发你还要按照我的这个做。只不过,最终代码放到真实的服务器环境去和后端接口在一个 http服务下面的话,就不存在这个问题了。

将项目打包到子目录 刚刚,我们是将文件,打包为根目录访问的。也就是说,必须在 dist 文件夹下面启动一个服务,才能把项目跑起来。 但是我们开发的大多数项目,可能是必须跑在二级目录,甚至更深层次的目录的。怎么做呢? 我们编辑 config/index.js 文件,找到assetsPublicPath: '/',把/修改为我们的子目录的路径就行了,这里我要放到wemz,于是,我修改为如下代码:

assetsPublicPath: '/wemz/',

然后,重新运行

npm run build

还记得,我们在项目文件夹中用 npm run dev 就可以开启一个 http 服务吗?并且那里,我们还代理了接口的。我们就这么做。然后我们访问二级目录 /dist/ 我们就可以看到效果了。

注意,我访问的不是根目录,而是 /wemz/ 这个子目录哦,这里是访问的我们打包的文件的。虽然实际生成的文件还是在dist目录里,但是wemz这个目录就可以访问了。将来也可以直接将dist目录下的所有文件复制到所有服务器上的/wemz的目录里。

最后附上代码的git:https://gitee.com/isoftforce/vue-sample.git

忠心感谢FungLeo,是你们无私的奉献,才让我们有了学习的参考,以下是地址: http://blog.csdn.net/FungLeo/article/details/77606216

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏华章科技

数据科学家必备的21个命令行工具

在该篇文章中,我们将介绍用于快速分析存储于文本文件(日志、报文等等)中的数据的便利工具。

742
来自专栏拂晓风起

Firefox 扩展开发 扩展学习 工具

1058
来自专栏糊一笑

使用github+jekyll搭建个人博客

给自己一个小空间 聊聊起初 每次看到大牛们的博客,都会激起一颗一定要搭建自己博客的心,毕竟有着一颗向大牛们看齐的心。但是一直不知道如何下手,从最初的csdn写写...

3056
来自专栏吴裕超

解决win10下git闪退

4.文件替换完成之后,我们来到C:\Windows\System32目录下,找到cmd.exe文件,右键点击文件,选择【以管理员身份运行】。

312
来自专栏ascii0x03的安全笔记

VirtualBox - RTR3InitEx failed with rc=-1912 (rc=-1912)

有一天重启电脑后虚拟机virtual box突然打不开了,提示类似 https://askubuntu.com/questions/900794/virtual...

3525
来自专栏每日一篇技术文章

带你入坑01-weex-搭建环境

安装 Node.js 环境成功后,npm 包管理工具也会自动安装成功 输入下面命令检查一下

821
来自专栏Java技术

分布式之数据库和缓存双写一致性方案解析!

首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作:

973
来自专栏向治洪

刷博客等流量

首先我们不建议刷流量,这里只是提供机械技术上的实现 -访客数量与ip无关,与cookie关,它对每个访问者给一个特定的cookie //就是说,只要清除cook...

18910
来自专栏lgp20151222

idea+jsp+jstl c标签页面异常

把这两个包分别加到项目依赖库,生成的tomcat的war文件(即WEB-INF文件)的lib目录下,还有tomcat自己的lib

902
来自专栏架构之路

Ubuntu下安装codeblocks步骤

前言 linux下安装codeblocks本来就是件困难的事情,因为通常情况下,需要安装的各种依赖安装不全会导致CB安装失败,然后在安装各种依赖的过程中又会产生...

3116

扫码关注云+社区