es6---模块化

  1. main.js
javascript 复制代码
import { bar } from "./module1";
import module2 from "./module2";
bar()
module2()
  1. module1.js
javascript 复制代码
// 多变量导出,导入变量需要变量名一对一映射
export const module1='module1'
export function bar(params) {
    console.log(module1)
}
  1. module2.js
javascript 复制代码
// 默认导出任何数据类型,导入变量名可随机取名
export default function bar(){
    console.log('bar module2');
}
  1. package.json 和babel.config.json
javascript 复制代码
{
  "name": "es6",
  "version": "1.0.0",
  "description": "",
  "main": "main.js",
  "scripts": {
    "compile": "babel js --out-dir lib && browserify -e ./lib/main.js -o ./dist/boundle.js"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/cli": "^7.22.15",
    "@babel/core": "^7.22.15",
    "@babel/preset-env": "^7.22.15"
  }
}

{
    "presets": [
      [
        "@babel/preset-env",
        {
          "targets": {
            "edge": "17",
            "firefox": "60",
            "chrome": "67",
            "safari": "11.1"
          },
          "useBuiltIns": "usage",
          "corejs": "3.6.5"
        }
      ]
    ]
  }
  1. index.html中使用编译之后的js
javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>es6</title>
</head>
<body>
    
</body>
<script src="./dist/boundle.js"></script>
</html>

note:

babel js --out-dir lib && browserify -e ./lib/main.js -o

./dist/boundle.js script中的compile命令,使用管道符&&串联命令。

先使用babel转换es6语法(名为env的preset),再使用browserify编译代码

相关推荐
郭老二3 小时前
【前端】vue3:编译步骤
前端
不在逃避q4 小时前
Trae/Vs Code/Cursor命令行无法跑npm命令
前端·arcgis·npm
夏殇之殁4 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
The Chosen One9854 小时前
高进度算法模板速记(待完善)
java·前端·算法
陈随易4 小时前
MoonBit抓包模块pcap,查看电脑的每一次联网通信
前端·后端·程序员
新中地GIS开发老师6 小时前
WebGIS开发学生作品|低空航天管理与航线规划系统
前端·javascript·webgis·三维gis开发
用户059540174466 小时前
大模型对话记忆持久化踩坑实录:用 Playwright 自动化测了 300 次,终于揪出会话丢失的真凶
前端·css
丙氨酸長鏈6 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
kyriewen7 小时前
面试官让我手写虚拟列表——AI生成的版本,快速滚动几下就白屏了
前端·javascript·面试
IT_陈寒7 小时前
Vite热更新失效?你可能漏了这个配置
前端·人工智能·后端