当前位置: 首页 > news >正文

深圳企业网站制作哪个中国能建设计公司网站

深圳企业网站制作哪个,中国能建设计公司网站,php网站开发用什么,购物网站名字前言 为什么需要这样一个框架#xff0c;以及这个框架带来的好处是什么#xff1f; 从字面意思上理解#xff1a;该框架可以用来同时管理多个小程序#xff0c;并且可以抽离公用组件或业务逻辑供各个小程序使用。当你工作中面临这种同时维护多个小程序的业务场景时#…前言 为什么需要这样一个框架以及这个框架带来的好处是什么 从字面意思上理解该框架可以用来同时管理多个小程序并且可以抽离公用组件或业务逻辑供各个小程序使用。当你工作中面临这种同时维护多个小程序的业务场景时可以考虑使用这种模式。灵感来自最近webpack的多项目打包构建 起步 首先你得先安装好taro脚手架然后基于该脚手架生成一个taro项目 初始化taro项目 taro init miniApp这是我选择的初始化配置你当然也可以选择其它模版只要编译工具选择webpack就可以下面的步骤基本相同 打开项目安装依赖 pnpm install这样一个基本的taro项目就生成好了但这样只是生成了一个小程序那我们如果有许多个小程序是不是还要按上面这些步骤继续生成当然不需要这样不仅费时间而且难以维护。 下面我们就来把这个框架改造成支持同时管理多个小程序。 改造支持多小程序 此时的项目结构是这样的 config下面是一些小程序以及webpack的配置src下面是我们小程序的项目代码project.config.json是当前小程序配置文件... 改造目录 在src目录下新增目录apps、common apps小程序目录存放各个小程序的代码common公用目录存放公用组件及业务逻辑代码 apps 这里每个小程序对应一个文件夹里面存放对应小程序的代码 这里需要把根目录下的project.config.json放到小程序目录下因为每个小程序都需要自己的配置文件 比如nanjiu、nanjiu_notebook两个小程序 common 这里主要是存放公用代码组件、业务、请求 修改配置 config/index.js import path from path const app process.env.APPconst config {projectName: mini_app,date: 2024-1-21,designWidth: 750,deviceRatio: {640: 2.34 / 2,750: 1,828: 1.81 / 2},sourceRoot: src/apps/${app}, // 项目源码目录outputRoot: ${app.toUpperCase()}APP, // 打包产物目录alias: {/common: path.resolve(__dirname, .., src/common), // 别名配置}, // ....module.exports function (merge) {if (process.env.NODE_ENV development) {return merge({}, config, require(./dev))}return merge({}, config, require(./prod)) } 这里需要注意的是sourceRoot因为要支持多小程序那么这里就不能固定写死了我们可以在启动时通过传参来区分当前启动或打包哪个小程序。 自定义构建脚本 在项目根目录新建文件夹build存放构建脚本 // cli.js const shell require(shelljs) const fs require(fs) const path require(path) const inquirer require(inquirer)const action process.argv[2] let app process.argv[3] const runType action dev ? 启动: 打包function start() {// 处理配置文件process.env.APP appconsole.log(正在${runType}小程序${app})let cmd if(action dev) {cmd taro build --type weapp --watch --app ${app}} else {cmd taro build --type weapp --app ${app}}const child shell.exec(cmd, {async:true})child.stdout.on(data, function() {// console.log(data)}) } // ...start() 配置脚本命令 //package.json// ...scripts: {start: node build/cli.js dev,build: node build/cli.js build, }验证 所有工作完成后可以来看看这个框架能不能满足我们的需求 命令执行成功项目根目录下会生成对应的小程序代码 再把该产物使用小程序开发者工具看是否能跑起来 这边能够跑起来就说明打包没有问题了同样可以验证其它的小程序 优化构建脚本 多小程序架构搭建完有同事反馈启动报错我心想不能吧我自己都验证过了从报错信息上看他应该是启动时没输入需要启动的小程序直接pnpm start了这样的话就不知道应该启动哪个小程序了。其实启动命令已经在项目文档上写了可能是没注意看。 那就只能优化优化尽量避免这种情况这里主要的逻辑是如果没有输入指定的的小程序通过inquirer开启交互式命令让他选择要启动哪个小程序。 // cli.js const shell require(shelljs) const fs require(fs) const path require(path) const inquirer require(inquirer)const action process.argv[2] let app process.argv[3] const runType action dev ? 启动: 打包if(!app) {openInquirer()return }// 未输入项目名称则开启交互命令行 function openInquirer() {const projectList fs.readdirSync(path.resolve(__dirname, ../src/apps))// 过滤隐藏文件projectList.forEach((item, index) {if(item.indexOf(.) 0) {projectList.splice(index, 1)}})const promptList [{type: list,message: 请选择启动的小程序:,name: pro,choices: [...projectList],},]inquirer.prompt(promptList).then((answers) {app answers.prostart()}) } function start() {// 处理配置文件process.env.APP appconsole.log(正在${runType}小程序${app})let cmd if(action dev) {cmd taro build --type weapp --watch --app ${app}} else {cmd taro build --type weapp --app ${app}}const child shell.exec(cmd, {async:true})child.stdout.on(data, function() {// console.log(data)}) }start()这样就大功告成了
http://www.pierceye.com/news/329396/

相关文章:

  • 建一个免费看电影的网站犯法不国家企业信用信息没有网站怎么做
  • 长春网站vantage wordpress
  • 帝国cms如何做网站地图自己做的网站还要买域名么
  • 网站建设与维护税率网络营销案例及视频
  • 网站建设 繁体精品课网站制作
  • 常州 招网站开发seo的名词解释
  • 二级域名网站seo竞价网站建设
  • 麻栗坡网站建设正规网站建设
  • 邯郸网站建设哪家好重庆app开发
  • 自学网站开发多久大型网站建站
  • 网站设计定制多少钱新增备案网站负责人
  • 匿名聊天网站开发网站关键字挖掘
  • 外国域名注册很多网站做网站的人找不到了
  • 好的学习网站打广告免费浏览器网站
  • 美团先做网站还是app学生网站建设的总结与评价
  • 网站建设代理网站wordpress微博
  • dw建设网站视频宁波seo优化项目
  • 网站里添加百度地图浙江网站建设公司
  • php网站开发最新需求排名优化百度
  • 网站制作的电话智慧校园信息门户网站建设
  • 网站备案申请福田企业网站优化方案
  • 企业网站seo怎么做有空间站的国家
  • Linux网站建设总结网站建设目的确定
  • 怎么做网站的内部链接wordpress 写php页面跳转
  • 推广自己的网站网页设计代码html文件怎么查
  • 网站在线制作软件邯郸公众号小程序制作
  • 网站后台生成静态页面天津百度推广电话号码
  • 网站单个页面301跳转湖南省建设局网站
  • 潮州网站建设十堰seo招聘
  • 企业网站建设公司公司系统优化的方法