第七章 前端开发——前端工程化(NPM、脚手架、前端环境搭建)
第七章 前端工程化(NPM、脚手架、前端环境搭建)
一、支持环境
二、NPM包管理工具
三、Vue生成器
四、前端的集成环境
五、项目目录结构
六、前端Vue框架与后端Django框架的简单交互
一、node.Js(相当于python解释器)
node.JS:JavaScript解释器
作用:①用于后端开发②作为前端工具的支持环境
下载地址:官网
8.11.4:长期支持版
10.9.0:最新版本
查看安装版本:
二、NPM包管理工具(相当于python中的pip)
1.NPM包管理工具集成在node.js中,无需安装。
2.前端的一切资源都可以都过npm下载 包括 各种前端工具(webpack\grunt...) 各种前端资源(jquery\bootstrap...)
使用方法:在想要下载库的project文件夹内,按住shift+鼠标右键,点击在命令窗口打开
npm install 包名 本地安装(本项目目录) (资源类)
npm install -g 包名 全局安装(命令行工具)
全局目录位于node.js的安装目录内
npm uninstall 包名 删掉本地的包
npm uninstall 包名 -g 删除全局安装的包
install可以简写成i
所有的安装文件都在项目文件project的node_modules文件夹里
3.项目初始化
npm init 创建一个package.json 里面是对项目的描述,指定依赖
设置完毕后点击yes会生成如下文件
然后安装对应的库,在后面加上--save
npm install 包 --save 下载包的同时,加入到package.json中的 `dependencies`
npm install 包 --save-dev 下载包的同时,加入到package.json中的 `devDependencies` 开发阶段的依赖
当项目文件上传到git上时,无需上传node_modules内的内容
下次下载项目文件时,只需运行npm install 就会把dependencies内的内容下载下来
4.模块化工具
webpack
Browserify
把前端所有的资源当做模块,向引入模块一样去使用
5.自动化工具
grunt
gulp
webpack
集成各种应用:代码压缩、图片压缩、编译sass....
三、Vue生成器
Vue生成器:集成了webpack、以及其他各种需要的工具
1.脚手架工具安装
npm install -g @vue/cli 安装3.x
npm install -g vue/cli 安装的2.x
2.使用
①vue create 项目名称 自动生成项目的目录
②选择配置
③按1,2,3,4,5,6,7,8,9选择需要的配置(Babel,Vuex,Router常用)
webpack
babel 把ES6编译成ES5
eslint 代码语法规范
TypeScript 负责把TypeScript编译成JavaScript
Router (Vue-router Vue全家桶成员) 路由
Vuex (Vue全家桶成员) vue状态管理
CSS Pre-processors CSS预处理 会让你再次选择器(SASS、LESS、Stylus...)
Linter / Formatter 语法检查
Unit Testing 单元测试
E2E Testing 端到端测试
④询问把配置文件中写到哪个文件(Inpackage.json)
⑤router是否使用历史模式
⑥询问你这个配置是否在以后的项目中也要使用(no)
⑦创建中
⑧是否使用淘宝镜像(yes)
3.命令
npm run serve 临时编译,创建临时服务器 loacalhost:8080
Local:本地运行
Network:临时服务器运行
访问地址
按Ctrl+C可以终止批处理操作
npm run build 编译,生成dist目录(压缩html,压缩图片,压缩css,压缩js等)
dist的内容上传到服务器上运行
四、前端的集成环境
1.前端的集成环境:WebStorm
文本高亮
file——settings——plugins——搜索vue.js
2.前端的集成环境:Pycharm
文本高亮
file——settings——plugins——搜索vue.js
NPM配置
(1)Edit Configurations
(2)新建NPM
(3)设置package.json配置文件
(4)运行项目
五、项目目录结构
|- node_modules
|- public
|- index.html
|- assets 静态文件 图片、字体
|- src
|- components 普通组件(局部)
|- HelloWorld.vue
|- views 页面组件
|- Home.vue
|- About.vue
|- main.js 入口
|- App.vue 总体结构组件
|- router.js 路由设置
|- store.js 状态管理
|- pageage.json
六、前端Vue框架与后端Django框架的简单交互
场景:
最简单的方式实现数据接口传递
【前端Vue】
1.创建项目(上面有介绍)
简答来说:
npm run serve
npm run build
2.根据需要在(main.js)内引入需要的包or模块
安装包or模块
举例:npm install axios
main.js引入
3.配置路由(router.js)
4.在Vue自定义的组件(<router-link to="/">xxxxxx</router-link>)内使用即可
5.第三步有个component是指向组件的意思,所以我们需要创建一个Course.vue的组件
6.使用axios与后端交互
<template><div class="course"><p v-for="course in courselist">{{course}}</p><button @click="init">点我</button></div> </template> <script>export default {data:function () {return{courselist:[]}},methods:{init:function () {console.log(this) // VueComponent {_uid: 7, _isVue: true, $options: {…}, _renderProxy: Proxy, _self: VueComponent, …} let _this = this // 把当前组件的this赋值给_this// 前面已经在全局变量出定义$http就是axiosthis.$http.request({url:this.$main+'/course/',method:'get',}).then(function (response) {console.log(this) //undefined//取到对象,真正的数据在data中//这里如果使用this会取到全局的Vue对象,会得到undefined,想得到当前组件的数据,把this赋值给_this即可 _this.courselist=response.data}).catch(function (response) {console.log(response)})}},mounted:function () { // 想要在组件挂载后执行的方法,请放在mounted里// 想要访问页面就加载从后台拿到的内容// 就要在生命周期mounted处调用上面写的init方法this.init()}} </script>
【后端Django】
settings.py配置上的app配置上restframework
urls.py
urlpatterns = [url(r'^admin/', admin.site.urls),url(r'^course/',views.Course.as_view()), ]
views.py
from django.shortcuts import render from rest_framework.views import APIView from rest_framework.response import Response # Create your views here.class Course(APIView):def get(self,request):obj = Response(['python','Linux'])# 存在跨域问题,同源策略拦截,所以设置下面这句话obj['Access-Control-Allow-Origin'] = '*'return obj
转载于:https://www.cnblogs.com/neymargoal/p/9537190.html
第七章 前端开发——前端工程化(NPM、脚手架、前端环境搭建)相关推荐
- 《疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践》学习笔记
<疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践>学习笔记 二〇一九年二月十三日星期三2时28分54秒 前提:本书适合有初步HTML.CSS.JavaScri ...
- 资深前端开发工程师分享:关于前端学习路线的一些建议
前言 对于刚开始学习前端的伙伴俩说,问得最多的问题就是 --前端技术现在如此繁杂,我到底应该如何学习.这个话题太大了,几句话回答不好:也由于这个问题确实困扰了很多前端开发人员,所以我也就着手系统的输出 ...
- 前端开发用什么工具?前端开发需要哪些软件
孔子说,"工欲善其事,必先利其器",当前运用前端开发,也是很恰当的,那么,前端开发用什么软件?前端开发用什么工具?下面php中文网就为大家总结一下前端开发开发工具. 一:HBuil ...
- Linux与云计算——第二阶段Linux服务器架设 第七章:网站WEB服务器架设—电子邮件WEB端搭建SquirrelMail...
Linux与云计算--第二阶段Linux服务器架设 第七章:网站WEB服务器架设-电子邮件WEB端搭建SquirrelMail WEBMAIL:SquirrelMail 使用SquirrelMail配 ...
- 公众号开发精品教程(1)——绪论及环境搭建
系列文章传送门 公众号开发精品教程(1)--绪论及环境搭建 公众号开发精品教程(2)--将项目接入微信及简单交互 公众号开发精品教程(3)--创建菜单 公众号开发精品教程(4)--生成带参数的二维码及 ...
- 蓝牙芯片nRF51822开发系列(一):环境搭建和GPIO使用(点亮LED)
蓝牙芯片nRF51822开发系列(一):环境搭建和GPIO使用(点亮LED) 前言(文章末尾获取工程源码) 一.开发必备 二.开发环境搭建 1.创建文件 2.新建工程 三.编写代码 GPIO详解 使用 ...
- 第七章 Web开发实战2——商品详情页
本章以京东商品详情页为例,京东商品详情页虽然仅是单个页面,但是其数据聚合源是非常多的,除了一些实时性要求比较高的如价格.库存.服务支持等通过AJAX异步加载加载之外,其他的数据都是在后端做数据聚合然后 ...
- OpenResty学习——第七章 Web开发实战2——商品详情页
本文转自https://blog.csdn.net/jinnianshilongnian/article/details/84704211,好文要顶,感谢博主分享! 本章以京东商品详情页为例,京东商品 ...
- python前端开发招聘_【天津前端开发招聘_最新天津前端开发招聘信息】-前程无忧...
天津卓众信息技术有限公司天津-西青区0.6-1万/月11-23 学历要求:本科|工作经验:3-4年|公司性质:民营公司|公司规模:少于50人 1.根据产品设计实现产品的页面交互和数据逻辑展示,负责前端 ...
- python前端开发需要的工具_前端工程师都有用哪些比较靠谱的小工具?
Wappalyzer 是一个用于识别网站使用的库和框架的工具.它也是一个 Chrome 插件,是目前为前端开发人员最有用的工具之一.下一次你想知道一个网站使用什么库,来创建一个特定的可视化功能,Wap ...
最新文章
- 【NOIP2016提高A组模拟9.9】闭门造车
- UBoot讲解和实践-------------讲解(二)
- 计算机主机内部防尘装置,一种计算机主机用防尘装置的制作方法
- 数据结构与算法--死磕二叉树
- dubbo负载均衡策略和集群容错策略
- python random库下载_Python---random库(随机数)
- 草珊瑚理解IFC(inline formatting context)
- 在家办公,我比上班还累你信吗?
- python 通配符域名_LeetCode-python 44.通配符匹配
- C和C指针小记(五)-指针类型
- internal/child_process.js:313 Error:spawn EACCES
- 鲁大师电动车智能排行第二期出炉:哪辆电动车最“聪明”?
- 如何用python制作云词图
- CSS3中的transition和transform属性
- 江浙沪地区计算机考研高效排名,江浙沪地区,哪所大学的法硕容易考上?
- CreateEventA 函数理解
- springboot实现网上宠物医院管理系统毕业设计
- Android 11.0 设置默认8时区和默认24小时制
- FLTK 1.3中使用中文
- 机油纯粹的复合机油要选哪款了?