六、项目发布-- 1.Vue项目构建

接下来做项目的构建以及上线发布,包括后台API的编写

首先做项目的构建

项目是已经开发完成了,接下来做构建工作

1.先做线上配置文件

怎么构建,我们看.env.develement这个文件,这个文件主要是在开发环境下使用,那么在上线之后,我们需要有一个同样的环境变量文件叫.env.producation,我们先把.env.develement文件中的内容复制到.env.producation中,因为我们上线后的接口和未上线是有一些区别的,下面我们在.env.producation中做一些替换,把地址都替换成线上的地址,目前这个服务器是别人搭建的一个服务器,先用来做测试,后面我们会尝试如何自己搭建服务器并且作用域名来搭建一套自己的服务器

如下,这样的话我们整个上线的配置就做好了,所有的API和资源全部是从线上获取的,所以我们第一步就先把配置文件改成这样

2. 接着我们做构建

把项目停掉以后,我们运行npm run build,因为我这个项目目前开发的有一定复杂度,所以构建过程会比较长,构建完了以后,它会在项目中生成一个dist目录,dist目录里面就是一个打包好的文件

出现问题,说俺什么非法使用目录啥的

找了好久都没有解决,孩子都快emo了,然后尝试着修改了一下,从true变成false

发现可以build了,呜呜呜

但是虽然能build了,但是我不理解其中缘由,这个属性是为了解决浏览器兼容的问题,build跟这个有啥关系啊,为啥true就build不了。如果为true,那么在低级浏览器范围内,会把node_modules里用到的高级语法进行babel编译;如果为false,则会把node_modules里用到的高级语法原封不动打包,会造成在低级浏览器访问报错的情况。后来我直接把这行transpileDependencies:;代码删掉了,也能npm run build成功,我还是删了好,置为false担心引起哪里出现问题。

收,继续往后走

然后直接打开dist当中的文件看能不能访问,如下双击打开index.html

发现出现问题,即书架中没有加号分组,就无法点击加号分组加入书架

这是因为接口请求,它一定要替换界面的BASE_URL,然后找到.env.production上的BASE_URL这个地址,而现在没有找到这个地址,说明环境变量没有替换成功,这是做环境变量替换时出现的问题,为什么这个线上环境build都没有报错咋不行呢,尴尬了,因为我写错名字了,文件名叫.env.production而不是.env.producation,改回来后重新npm run build即可,重新加入dist的index.html中即可出现如下,只是这里这个分组样式有点怪怪的,咋没有方框了啥情况

然后点击加号即可进入到书架中

此时我们点击阅读的时候,发现出现问题。爆出404错误,表示没有找到资源,也就是没有办法通过这个路径找到资源,那一定是资源出问题

我们看production中看,我们配置了EPUB的路径,前面是IP地址http://47.99.166.157后面是一个epub再往后就是我们分类名+电子书名称了,而报错中是IP地址+book/res后才epub,说明我们路径写错了

然后回到eBookReader当中:看看如下,之前我们写路径的时候没有使用EPUB_URL,我们应该把它改为EPUB_URL,所以修改如下

然后重新npm run build,进入dist的index.html中某本图书阅读即可展示出来了如下

3. 紧接着我们把我们构建好的项目放到nginx上试一试

即如下,拷贝dist下的文件,然后到sresoure中创建一个book文件夹,然后放到这个文件夹下

拷贝过来后我们就不是直接打开了即不是直接点击这里的index.html打开了,而是在nginx上面打开,如下,如果8081来打开

然后找到book目录,点击book目录,即可打开书架了,如下

然后去点击阅读图书,把图书加入到书架中都可以实现

那这样的话,我们初步可以判断现在这个包可以处于上线状态,它基本没有太大的问题了,就是book下面的那些文件就是我们最终上线的前端部分的内容,后面我们就把这些文件发布到我们线上,但是在此之前我们还有一件事要做,就是在我们配置文件.env.production中目前所有的这些API都不是自己做的API,那么现在我们要自己去实现一套这样的API,我们所需要实现的API主要是api中store.js提供的那些API。那么我们需要采用从数据库中获取数据并且返回的这样的方式来实现

补充一下之前图书详情页的将图书加入到书架的逻辑:

如下看该电子书是否存在于书架中,如果存在于书架中那么此时是要移出书架,移出后把数据保存到localstorage中;如果该电子书没有存在于书架中,则把该电子书移到书架中并且移到后把数据保存到localstorage中。

addToShelf中是先从书架中的图书,然后把最后那个加号方框去掉,然后最后是会加回去的,然后将这本书的type置为1.然后在书架列表数据shelfList中把这本书添加进去,然后重新运算一下item的id们,最后把改变后的shelfList存到localstorage中。

`vue-cli-service.js` 是由 Vue CLI 创建的一个脚本文件,它是 Vue CLI 构建工具的核心部分。Vue CLI 是一个用于构建 Vue.js 应用程序的脚手架工具集,帮助开发者快速创建新项目,同时提供了一系列自动化任务,如打包、测试、服务器部署等。 在 `vue-cli-service.js` 文件中,你会看到一系列与 Vue CLI 功能相关的函数和模块导入,这些功能包括但不限于: - 启动开发服务器 (`serve`): 这个功能允许你启动一个热加载的开发服务器,以便在编辑代码时自动刷新浏览器视图。 - 构建生产环境应用程序 (`build`): 此功能负责将源代码打包成适用于生产环境的静态资源,优化性能并移除开发时的调试代码。 - 执行测试 (`test`): 提供了一套自动化测试框架,如 Jest 或 Mocha,帮助开发者编写和运行单元测试。 - 发布网站 (`gh-pages`): 将项目部署到 GitHub Pages 上,方便分享给他人预览或使用。 - 更新项目版本 (`update`): 自动检测和应用新版本的 VueVue CLI 的补丁更新。 - 开发模式 (`dev-server`) 和生产模式 (`prod-server`) 的支持: 分别针对开发和生产的环境提供定制化的服务。 `vue-cli-service.js` 是一个可执行脚本,可以通过在终端中输入命令 `.\\vue-cli-service.cmd` 来执行 Vue CLI 的各项任务。这使得用户能够通过简单的命令行指令来控制项目构建流程,无需深入了解底层的脚本结构和复杂配置。 总之,`vue-cli-service.js` 是 Vue CLI 工具箱的灵魂所在,它整合了多种功能来简化前端 Web 开发过程,让开发者能够专注于构建高质量的 Vue.js 应用程序而无需过多关注基础基础设施的细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值