前端模块化

51 阅读1分钟

环境搭建

控制台输入:

cnpm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/node

image.png

若遇到404,可参考:

安装vue脚手架出现GET https://registry.npmmirror.com/vue-cli-g response 404 status_纸素画笺的博客-CSDN博客

控制台输入: cnpm install --save @babel/polyfill

image.png

创建配置文件babel.config.js

image.png 内容如下:
const presets = [
    ["@babel/env",{
        targets:{
            edge:"17",
            firefox:"60",
            chrome:"67",
            safari:"11.1"
        }
    }]
]

module.exports = {presets}

测试,创建index.js文件,并在控制台输入npx babel-node .\index.js

image.png

若遇到错误 Cannot find module 'ms',可参考

vue报错Error: Cannot find module 'ms'_An_s的博客-CSDN博客

image.png

基本语法

默认导入 和 默认导出

image.png

创建m1.js文件

image.png

创建index.js文件

image.png

控制台输入npx babel-node .\index.js

image.png

注意:

  1. 每个模块,只允许使用唯一的一次default export
  2. import 时名称可以随意写,并且括号可以去掉

按需导出 与 按需导入

image.png

m1.js中追加如下内容

image.png image.png

可以使用as为变量起别名 image.png

注:

  1. 一个模块可以使用多次export导出
  2. import时,需要使用{}包裹
  3. import的{ }内变量或方法名要与导入的名称一致

直接导入并执行模块代码

image.png

创建m2.js

image.png

执行m2内方法

image.png

参考

4.4 ES6 模块 | 菜鸟教程 (runoob.com)