持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情
1. Commonjs规范
CommonJS规范是一种同步加载模块的方式,也就是说,只有当模块加载完成后,才能执行后面的操作。
每个文件就是一个模块,有自己的作用域
创建方法:
创建"module" 文件夹
module/commonjs/四则运算.js
//工具类
const sum=function(a,b){
return a+b;
}
const sub=function(a,b){
return a-b;
}
const mul=function(a,b){
return a*b;
}
const di=function(a,b){
return a/b;
}
//导出给别人使用
module.exports={
sum:sum,
sub:sub,
mul:mul,
di:di
}
module/commonjs/导入测试.js
//require导入
const m= require('./四则运算.js');
//导出了才能使用
console.log(m.sum(1,2));
console.log(m.sub(1,2));
console.log(m.mul(1,2));
console.log(m.di(1,2));
common js模块开发总结
exports导出 使用需require导入 导出了才能使用
在四则运算.js的导出中还有一种简写方法:
module.exports={
sum,
sub,
mul,
di
}
2. ES6模块化规范
ES6使用export和import导出、导入模块
- 创建userApi.js,导出模块
//es6
export function getList(){
//在真实业务中,异步获取数据
console.log("获取数据列表");
}
export function save(){
//在真实业务中,异步获取数据
console.log("保存数据");
}
- 创建userComponent.js,导入模块
import { getList , save } from "./userApi";
getList()
save()
注意: 现在程序无法运行,因为ES6的模块化无法在node.js中运行,需要用babel编辑成ES5后再执行
- 初始化项目
npm init -y
- 配置.babellrc
{
"presets":["es2015"],
"plugins":[]
}
- 安装解码器,在项目中安装
npm install --save-dev babel-preset -es2015
- 定义运行脚本,package.json中增加"build"
{
"name": "es6",
"version": "1.0.0",
"description": "",
"main": "userApi.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build":"babel src -d dist"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"babel-preset-es2015": "^6.24.1"
}
}
- 执行命令转码
npm run build
将es6降级为es5,npm才能运行
因此用新方法
userApi.js
//新方法
//前端开发中,经常看到这样的代码
export default{
getList(){
//在真实业务中,异步获取数据
console.log("获取数据列表");
},
save(){
console.log("保存数据");
}
}
UserTest.js
import user from "./userApi";
user.getList()
user.save()
Npm init -y
创建package.json文件
完成
下面分享一个我的mysql最新报错,mysql就此进入成功运行阶段
Navicat报错1251
原因:
MySQL8.0版本的加密方式和MySQL5.0的不一样
解决方法:
- 打开cmd命令窗口,输入命令
mysql -uroot -p
打开MySQL数据库,然后输入密码进行登录。
- 更改加密方式,输入命令
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
****
- 更改密码,我这里将密码更改为 123456 ,所以输入命令
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
- 输入命令
FLUSH PRIVILEGES;
进行刷新。
成功啦!!!!✿✿ヽ(°▽°)ノ✿