前端工程化实例简介(Node.js,NPM,Webpack,前端框架)
前端工程化实例简介
一:Node.js
二:NPM包管理器
1、npm简介
2、使用npm管理项目
1、项目的初始化
2、修改npm镜像
3、npm install命令
三:Webpack
1、Webpack简介
2、Webpack
1、全局安装
2、JS打包
3、执行编译命令
四:前端框架介绍
1、目录结构
2、关键文件
1、build/webpack.dev.conf.js
2、index.html
3、src/main.js
4、config/dev.env.js
5、src/utils/request.js
6、src/api/login.js
一:Node.js
Node.js 不是一门编程语言,它是一个执行 JavaScript 代码的工具。工具是指可以安装在计算机操作系统之上的软件。
为什么浏览器和 Node.js 都可以运行 JavaScript
因为浏览器和 Node.js 都内置了 JavaScript V8 Engine。
它可以将 JavaScript 代码编译为计算机能够识别的机器码。
JavaScript 运行在浏览器中控制的是浏览器窗口和 DOM 文档。
JavaScript 运行在 Node.js 中控制的操作系统级别的内容。
1、浏览器中运行的 JavaScript 和 Node.js 中运行的 JavaScript 区别
在内置了 JavaScript V8 Engine 以后实际上只能执行 ECMAScript,就是语言中的语法部分。
浏览器为了能够让 JavaScript 操作浏览器窗口以及 HTML 文档,所以在 JavaScript V8 Engine 中添加了控制它们的 API, 就是 DOM 和 BOM. 所以 JavaScript 在浏览器中运行时是可以控制浏览器窗口对象和DOM文档对象的。
和浏览器不同,在 Node.js 中是没有 DOM 和 BOM 的,所以在 Node.js 中不能执行和它们相关的代码,比如 window.alert() 或者document.getElementById()。DOM 和 DOM 是浏览器环境中特有的。在 Node.js 中,作者向其中添加了很多系统级别的 API,比如对操作系统中的文件和文件夹进行操作。获取操作系统信息,比如系统内存总量是多少,系统临时目录在哪,对系统的进程进行操作等等。
2、为什么浏览器中的 JavaScript 不能控制系统级别的 API ?
浏览器是运行在用户的操作系统中的,如果能控控制系统级别的 API 就会存在安全问题。
Node.js 是运行在远程的服务器中的,访问的是服务器系统 API,不存在这方面的安全问题。
3、Node.js 能够做什么?
我们通常使用它来构建服务器端应用和创建前端工程化工具。
JavaScript 运行在浏览器中我们就叫它客户端 JavaScript。
JavaScript 运行在 Node.js 中我们就叫它服务器端 JavaScript。
二:NPM包管理器
1、npm简介
NPM全称Node Package Manager,是Node.js包管理工具,是全球最大的模块生态系统,里面所有的模块都是开源免费的;也是Node.js的包管理工具,相当于前端的Maven 。
2、使用npm管理项目
1、项目的初始化
npm init
#按照提示输入相关信息,如果是用默认值则直接回车即可。
#name: 项目名称
#version: 项目版本号
#description: 项目描述
#keywords: {Array}关键词,便于用户搜索到我们的项目
#最后会生成package.json文件,这个是包的配置文件,
相当于maven的pom.xml
#我们之后也可以根据需要进行修改。
1
2
3
4
5
6
7
8
9
10
11
2、修改npm镜像
NPM官方的管理的包都是从 http://npmjs.com下载的,但是这个网站在国内速度很慢。
推荐使用淘宝 NPM 镜像 http://npm.taobao.org/ ,淘宝 NPM 镜像是一个完整 npmjs.com 镜像,同步频率目前为 10分钟一次,以保证尽量与官方服务同步。
#设置镜像地址:
npm config set registry https://registry.npm.taobao.org
#查看npm配置信息
npm config list
1
2
3
4
5
3、npm install命令
1.基本命令
#使用 npm install 会安装依赖包的最新版,
#模块安装的位置:项目目录 \node_modules
#同时package.json 文件中,依赖包会被添加到dependencies节点下,
类似maven中的
#默认参数:–save 简写 -S 将当前依赖保存在dependencies节点下
npm install jquery
1
2
3
4
5
6
2.下载特定版本的依赖
#如果安装时想指定特定的版本
npm install jquery@2.1.x
1
2
3.下载开发依赖
#devDependencies节点:开发时的依赖包,项目打包到生产环境的
时候不包含的依赖
#使用 -D参数将依赖添加到devDependencies节点
npm install --save-dev eslint
#或简写
npm i -D eslint
1
2
3
4
5
6
4.下载全局依赖
#全局安装
#Node.js全局安装的npm包和工具的位置:
用户目录\AppData\Roaming\npm\node_modules
#一些命令行工具常使用全局安装的方式
npm install --global webpack
#或简写
npm install -g webpack
1
2
3
4
5
6
7
8
5.根据依赖下载安装包
#npm管理的项目在备份和传输的时候一般不携带node_modules文件夹
#安装会自动在项目目录下添加 package-lock.json文件,
这个文件帮助锁定安装包的版本
npm install #根据package.json中的配置下载依赖,初始化项目
1
2
3
4
5
6.其他命令
#更新包(更新到最新版本)
npm update 包名
#全局更新
npm update -g 包名
#卸载包
npm uninstall 包名
#全局卸载
npm uninstall -g 包名
1
2
3
4
5
6
7
8
三:Webpack
1、Webpack简介
Webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。
从图中我们可以看出,Webpack 可以将多种静态资源 js、css、less 转换成一个静态文件,减少了页面的请求。
2、Webpack
1、全局安装
npm install -g webpack webpack-cli
或
npm install -g webpack
npm install -g webpack-cli
1
2
3
4
2、JS打包
创建配置文件webpack.config.js
以下配置的意思是:
①读取当前项目目录下src文件夹中的main.js(入口文件)内容,分析资源依赖,把相关的js文件打包
②打包后的文件放入当前目录的dist文件夹下
③打包后的js文件名为bundle.js
constpath=require(“path”) //Node.js内置模块
module.exports= {
entry: ‘./src/main.js’, //配置入口文件
output: {
//输出路径,__dirname:当前文件所在路径
path: path.resolve(__dirname, ‘./dist’),
filename: ‘bundle.js’//输出文件
}
}
1
2
3
4
5
6
7
8
9
3、执行编译命令
webpack --mode=development
#执行后查看bundle.js 里面包含了上面两个js文件的内容并进行了代码打包
也可以配置项目的npm运行命令,修改package.json文件
"scripts": {
//…,
“dev”: “webpack --mode=development”,
“prod”: “webpack --mode=production”
}
运行npm命令执行打包,启动项目
npm run dev #开发打包
或
npm run prod #生产打包
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
四:前端框架介绍
vue-element-admin 是一个后台前端解决方案,它基于 vue 和 element-ui实现。它使用了最新的前端技术栈,内置了 i18n 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富的功能组件,它可以帮助你快速搭建企业级中后台产品原型。相信不管你的需求是什么,本项目都能帮助到你。
1、目录结构
2、关键文件
1、build/webpack.dev.conf.js
webpack配置文件,包含项目在开发环境打包和运行的相关配置
webpack.dev.conf.js 中引用了 webpack.base.conf.js
webpack.base.conf.js 中定义了项目打包的入口文件
在HtmlWebpackPlugin配置html模板,生成的js就会自动插入到模板中,如下面的配置。
因此生成的js文件会被自动插入到名为index.html的页面中
2、index.html
项目默认的html页面
3、src/main.js
项目js入口文件,项目的所有前端功能都在这个文件中引入和定义,并初始化全局的Vue对象
4、config/dev.env.js
定义全局常量值
因此,在项目中的任意位置可以直接使用 process.env.BASE_API 常量表示后端接口的主机地址
5、src/utils/request.js
引入axios模块,定义全局的axios实例,并导出模块
6、src/api/login.js
————————————————
版权声明:本文为CSDN博主「A12115419」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/A12115419/article/details/118876115
共同学习,写下你的评论
评论加载中...
作者其他优质文章