reactivety模块构建流程

简介: reactivety模块构建流程
  1. package.json
"scripts": {
    "dev": "node scripts/dev.js reactivity -f global"
},

2.新建并编辑scripts/dev.js.此文件在使用pnpm run dev时,会执行dev的逻辑,打包并监听编译dev的配置

const {

resolve

} = require('path')

const {

build

} = require('esbuild')

// 获取参数,以node scripts/dev.js reactivity -f global 为例解析

const args = require('minimist')(process.argv.slice(2));

  

// 获取参数中的target

const target = args._[0] || 'reactivity'; // reactivity

// 获取参数中的formate参数

const format = args.f || 'global'; // global

// 开发环境只打包某一个模块

const pkg = require(resolve(__dirname, `../packages/${target}/package.json`))

  
  

// iife:立即执行函数(function{}());cjs node中的模块;esm:浏览器中的esmodule模块

const outputFormat = format.startsWith('global') ? 'iife' : format === 'cjs' ? 'cjs' : 'esm'

  

// 定义打包后的文件名和路径

const outfile = resolve(__dirname, `../packages/${target}/dist/${target}.${format}.js`)

  

// 执行打包

build({

entryPoints: [resolve(__dirname, `../packages/${target}/src/index.ts`)],

outfile,

bundle: true, // 把所有的包打包到一起

sourcemap: true,

format: outputFormat, // 输出的格式

globalName: pkg.buildOptions.name, // 打包的全局的名字

platform: format === 'cjs' ? 'node' : 'browser', // 平台

watch: { // 监控文件变化

onRebuild(error) {

if (!error) {

console.log('rebuild~~~')

}

}

}

}).then(() => {

console.log('watching~~~')

})
  1. 执行pnpm run dev,可以看到reactivity/dist 生成了reactivity.global.jsreactivity.global.js.map
相关文章
|
2月前
|
小程序 前端开发 数据库
上门服务的开发基本逻辑流程。
在数字化时代,上门服务小程序成为连接消费者与服务提供者的桥梁。本文深入探讨其前后端设计、开发与维护:前端注重响应式布局、清晰导航及丰富交互,提升用户体验;后端则通过微服务架构、数据库设计及业务逻辑实现,确保系统高效稳定。团队协作与持续优化贯穿整个流程,旨在打造优质服务体验。
|
6月前
|
Linux 测试技术 iOS开发
Meson:现代的构建系统
Meson:现代的构建系统
192 0
|
JSON 数据格式 容器
SpringMVC运行流程分析之核心流程
SpringMVC运行流程分析之核心流程
37 0
|
7月前
|
人工智能 大数据 5G
400G光模块已经部署,需求将进一步扩大
2023年底,电信运营商完成400G OTN试验网设备部署,标志着400G技术大规模部署的开端。400G传输技术日趋成熟,预计2024年实现长距离商用。400G光模块在提升数据传输效率、降低能耗方面发挥关键作用,适应云计算、大数据、AI对高效算力的需求。光纤技术行业显现复苏态势,400G光模块部署成为数据中心发展的必然,支持新兴技术发展。随着5G、云计算等技术进步,对高速光模块需求激增,推动光纤行业创新与市场扩张。
80 2
|
JSON 前端开发 数据库
基于jsplumb构建的流程设计器
最近在准备开发工作流引擎相关模块,完成表结构设计后开始着手流程设计器的技术选型,调研了众多开源项目后决定基于jsplumb.js开源库进行自研开发,保证定制化的便捷性,相关效果图及项目地址如下
145 0
基于jsplumb构建的流程设计器
|
Arthas JSON 前端开发
在接口自动化测试过程中,如何开展接口自动化测试?单个模块和多个模块关联又怎么去做测试?
在接口自动化测试过程中,如何开展接口自动化测试?单个模块和多个模块关联又怎么去做测试?
|
数据采集 算法 数据可视化
MMdetection框架速成系列 第03部分:简述整体构建细节与模块+训练测试模块流程剖析+深入解析代码模块与核心实现
按照抽象到具体方式,从多个层次进行训练和测试流程深入解析,从最抽象层讲起,到最后核心代码实现,希望帮助大家更容易理解 MMDetection 开源框架整体构建细节
614 0
|
JavaScript 前端开发 API
前端工程自动化——动态导入
介绍webpack的require.context用法和实例
|
数据采集 JavaScript 容灾
配置模块设计
配置模块设计
236 0
配置模块设计
|
安全 Java 容器
5-基础构建模块
5-基础构建模块
211 0