小白前端学习使用Vue2+nodeJs做一个项目并发布到阿里云服

2019-08-07  本文已影响0人  FSYu

两年前端,除了略懂一点php,其他后端知识完全不懂,此文档作为摸索学习记录,如朋友们看到不对的地方或有更好的方法提出建议,在下不胜感激~

这里我演示的是Vue2+Vue-cli3x,nodejs+mysql项目,因太多东西是第一次尝试,所以记录的尽可能详细

nodejs自行下载安装,安装nodejs会附带安装npm   此处为安装包下载地址

一、买一个阿里云ESC服务器

对各大厂商的服务器不了解,买了一个阿里云入门版的当做测试服务器   点此处前往购买

以下为购买流程

1.基础配置

买张家口的是因为价格比较便宜,入门级配置(个人测试是没问题的),服务器系统选择了Windows Server,待有时间后会学习Linux的系统再重新部署一下

2.网络和安全组

因此浏览器只做个人测试,所以选择了按使用流量缴费,此处可按个人喜好来选择

3.系统配置

这个密码要记住,链接远程电脑的时候要用这个密码(忘掉了也是可以在控制台重置的)

4.分组设置不是必填项可跳过

5.确认订单

到这一步看一下配置的没有错就可以付款去了

付款后可在阿里云控制台管理服务器   点此处前往阿里云控制台

此处ip地址(公)为公网IP(用来连接远程电脑及访问测试)

二、Vue项目

学习链接:Vue官方教程Vue-CLI官方文档

可以使用下列任一命令安装这个新的包:

npm install -g @vue/cli

# OR

yarn global add @vue/cli

安装完成后,命令行中访问vue命令查看安装的版本,我安装的是3.9.3

vue --version

将命令行工具位置切换到想创建项目的地址

vue ui

上述命令会打开一个浏览器窗口,并以图形化界面将你引导至项目创建的流程。

这样创建项目比用命令行更简单更直观

填写项目文件夹名称,选择包管理器(我选择的是npm),点击下一步

第一次创建建议手动选择

先选择几个用的上的就可以,之后项目中如需要可以再增加

可保存为新预设,下次创建项目直接就能用了

稍等一会后提示项目创建成功,你在项目文件夹下就能看到了,src为开发目录

可在这里运行项目、打包项目、检查修复源文件

点击运行后完成,再点击启动app,浏览器自动打开运行项目

项目运行显示如下

src文件夹下,assets为素材目录(图片、css、js),components为组件目录(vue组件式开发很是用的,文件为.vue),views为视图目录(存放网页,文件为.vue),App.vue为入口文件,mian.js为入口js,router.js、store.js为安装的依赖(项目再添加依赖要创建类似js)

引入样式方法

编写组件方法,style标签那里的scoped属性为仅对当前文件有效

引用组件及使用方法

静态页面自行编写,接下来是打包项目到dist文件夹

运行项目或打包项目之前可以先检查修复下,会减少报错

文件打包成功后,项目文件夹下出现一个dist文件夹,这个文件夹就可以直接部署到服务器了

这个项目是我新创建的没写什么东西,但是当写一些东西后再打包,文件超过244kb就会出现警告

这就需要在vue.config.js中写一些配置了,为解决这个问题我看了网上很多相关帖子,解决办法是 gzip压缩

在根目录下创建vue.config.js,文件内容如下

// vue.config.js// 

const path = require("path");

const CompressionPlugin =require("compression-webpack-plugin");//引入gzip压缩插件

const productionGzipExtensions = ["js","html","css"];

const webpack =require("webpack");

module.exports = {

publicPath:"/",productionSourceMap:false,//打包时不要map文件

outputDir: process.env.outputDir,//输出文件目录

lintOnSave:true,//是否在保存的时候检查

assetsDir:"static",//放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。

devServer: {port:8090},

configureWebpack:config=>{if(process.env.NODE_ENV ==="production") {// 生产环境config.plugins.push(newwebpack.ProvidePlugin({$:"jquery",jQuery:"jquery","windows.jQuery":"jquery"}),newCompressionPlugin({//gzip压缩配置// asset: "[path].gz[query]",// algorithm: "gzip",test:newRegExp("\\.("+ productionGzipExtensions.join("|") +")$"),//匹配文件名threshold:10240,//对超过10kb的数据进行压缩deleteOriginalAssets:false,//是否删除原文件minRatio:0.8})      );    }else{// 开发环境}  },// CSS 相关选项css: {extract:true,// 是否开启 CSS source map?sourceMap:false,// 为预处理器的 loader 传递自定义选项。比如传递给// sass-loader 时,使用 `{ sass: { ... } }`。loaderOptions: {},// 为所有的 CSS 及其预处理文件开启 CSS Modules。modules:false},// 在多核机器下会默认开启。parallel:require("os").cpus().length >1,// PWA 插件的选项。pwa: {},// 第三方插件的选项pluginOptions: {}};

此后再压缩还是有这个报错!这是因为没有删除原文件,不建议删除,等传到服务器后调试好了再把多余的删除吧~

三、上传文件到服务器

买了服务器了就赶紧用,要不一天一天过去,钱都浪费了,所以我决定先把静态页面放上去

这里填服务器的公网IP

点显示选项,本地资源下点击详细信息

将项目所在盘选上,然后连接远程桌面

此处密码为买阿里云服务器时,系统设置那里的密码

如果忘记了可去控制台重置

我买的是有UI的服务器,操作起来简单一些

1.在服务器上安装PHPstudy   此处为下载地址

把文件放到项目同一个盘下即可,因为上一步远程的时候选了此盘连接到服务器

在服务器计算机中打开本机文件夹,将PHPstudy安装包复制到服务器盘内进行安装,安装成功后

2.将项目文件夹复制到C:\phpstudy_pro\WWW 下,再在PHPstudy中配置好即可运行

这是在本机电脑或者手机浏览器上输入域名,就能看到之前做的静态页面了,可以稍微开心一下

四、如何使用nodejs写一个接口

我看了 大帅瓜 写的博客,直接就成功了,一点报错都没有,太厉害了

这里附上大牛原博客,我就不瞎说啥了   点击此处传送

五、把nodejs文件放到服务器运行

连接远程桌面后,将nodejs文件复制到项目目录中server下(自己创建的,前端页面放在web文件夹)

自行安装数据库软件   此处是随便找的安装包地址

在服务器命令行运行nodejs接口,我写的端口是3000

在本机或手机上看接口返回数据看不到,是因为服务器安全组没有配置,3000的这个端口是未定义的

在阿里云控制台安全组列表点击配置规则

添加安全组规则,入方向和出方向都配置上

端口写想要的那个,授权对象写 0.0.0.0/0是无限制

添加好后就发现本机能调用服务器上的接口了,目前仍在做这个项目,会持续更新学习记录在其他文章。

上一篇下一篇

猜你喜欢

热点阅读