浏览器的内核包括两个部分核心
而Node.js是脱离浏览器环境运行的JavaScript程序,基于V8引擎
ES6全称为ECMAScript,是JavaScript的规格,而JS是ES6的实现。
ES标准中不包含DOM和BOM的定义,只涵盖基本数据类型、关键字、语句、运算符、内建对象、内建函数等通用语法。
const用于生命常量,并且在生命的时候必须初始化,否则会报错,在初始化后不可在修改它的值
//数组解构
let [a,b,c] = [1,2,3]
console.log(x,y,z)
//对象结构
let {
name , height } = user
console.log(name,age)
let name = 'zhangsan'
let info = 'Name is ${name}'
属性值与属性名相同的时候,只写属性名就行
const person = {
HelloWorld(){
....
}
}
//浅拷贝
let p = person
//深拷贝
let p2 = {
...person}
var f = (a,b) => a+b
或
var f2 = (a,b) =>{
return a+b
}
NPM即Node Package Manager,是Node.js包管理工具,相当于前端的Maven。
npm init ---->输入相关信息生成文件
npm init -y ------>直接生成json
npm config set registry https://registry.npm.taobao.org
npm config list //查看信息
npm install jquery
npm install -D eslint
#全局安装
npm install -g webpack
npm install
#更新包
npm update 包名
#全局更新
npm update -g 包名
#卸载包
npm uninstall 包名
#全局卸载
npm uninstall -g 包名
ES6的某些高级语法在浏览器环境甚至是node.js环境中无法执行。
Babel是一个广泛使用的转码器,可以将ES6代码转化为ES5代码。
npm install -g babel-cli
npm init -y
1.改写package.json
{
"scripts":{
"build":"babel src\\example.js -o dist\\compiled.js"
}
}
2.转码的时候,执行下面的命令
mkdir dist
npm run build
模块化规范
创建"module"文件夹
创建 mokuai-common-js/四则运算.js
const sum = function(a,b){
return a + b
}
const subtract = (a,b) => a-b
.....
导出模块中的成员
//导出成员:
module.exports={
sum,
subtract,
...
}
创建 mokuai-common-js/引入模块.js
const m = require('./四则运算.js')
运行程序
node 引入模块.js
ES6使用export和import来导出、导入模板
创建mokuai-es6文件夹
创建src/userApi.js文件,导出模块
export function getList(){
console.log('获取数据列表')
}
export function save(){
console.log('保存数据')
}
创建src/userComponent.js文件,导入模块
import{
getList,save} from './userAPI.js'
getList()
save()
初始化项目
npm init -y
配置.babelrc
{
"persets":["es2015"],
"plugins":[]
}
安装转码器,在项目中安装
npm install --save-dev babel-preset-se2015
定义运行脚本,packag.json中增加"build"
{
"scripts":{
"build":"babel src -d dist"
}
}
执行命令转码
npm run build
运行程序
node dist/userComponent.js
创建src/userApi2.js,导出模块
export default{
getList(){
console.log('获取数据列表2')
},
save(){
console.log('保存数据')
}
}
创建src/userComponent2.js,导入模块
import user from "./userApi2.js"
user.getList()
user.save()
执行命令转码执行程序
npm run build
运行程序
node dist/userComponent2.js
Webpack是一个前端资源加载/打包工具,将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源
将静态资源js.css.less转换成一个静态文件,减少页面的请求
1、全局安装
npm install -g webpack webpack-cli
2、安装后查看版本号
webpack -v
创建webpack文件夹
npm init -y
创建src文件夹
src下创建common.js
export.info = function(str){
document.write(str);
}
src下创建utils.js
exports.add = (a,b) => a+b;
src下创建main.js
const common = require('./common');
const utils = require('./utils');
common.info('Hello world!' + utils.add(100,200));
webpack目录下创建配置文件webpack.config.js
const path = require("path"); //Node.js内置模块
moudule.exports = {
entry:'./src/main.js'
output:{
path:path.resolve(_dirname,'./dist'), //输出路径,_dirname:当前文件所在路径
filename:'bundle.js' //输出文件
}
}
以上配置的意思是:读取当前项目目录下src文件中的main.js(入口文件)内容,分析资源依赖,把相关的js文件打包,打包后的文件放入当前目录的dist文件夹下,打包后的js文件名为bundle.js
命令行执行编译命令
webpack --mode = development
#执行后查看bundle.js里面包含了上面两个js文件的内容并进行了代码压缩
也可以配置项目的npm运行命令,修改packa.json文件
"scripts":{
"dev":"webpack --mode=development"
}
运行npm命令执行打包
npm run dev
webpack目录下创建index.html,引用bundle.js