关于commonjs与ES6模块化规范与mysql最新报错

53 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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导出、导入模块

  1. 创建userApi.js,导出模块
//es6
 export function getList(){
     //在真实业务中,异步获取数据
     console.log("获取数据列表");
 }

 export function save(){
     //在真实业务中,异步获取数据
     console.log("保存数据");
 }
  1. 创建userComponent.js,导入模块
import { getList , save } from "./userApi";

getList()
save()

注意: 现在程序无法运行,因为ES6的模块化无法在node.js中运行,需要用babel编辑成ES5后再执行

  1. 初始化项目
npm init -y
  1. 配置.babellrc
{
    "presets":["es2015"],
    "plugins":[]
}
  1. 安装解码器,在项目中安装
npm install --save-dev babel-preset -es2015
  1. 定义运行脚本,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"
  }
}

  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的不一样

解决方法:

  1. 打开cmd命令窗口,输入命令 mysql -uroot -p打开MySQL数据库,然后输入密码进行登录。

  1. 更改加密方式,输入命令ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;****

  1. 更改密码,我这里将密码更改为 123456 ,所以输入命令 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

  1. 输入命令 FLUSH PRIVILEGES; 进行刷新。

成功啦!!!!✿✿ヽ(°▽°)ノ✿