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

海外推广的网站有哪些wordpress 模板添加

海外推广的网站有哪些,wordpress 模板添加,专业建设网站公司哪家好,现在前端开发用什么技术背景 在企业级项目开发中#xff0c;一般都会分为开发、测试、预发布、生产等多个环境#xff0c;在工程化中使用不同的打包命令改变环境变量解决不同环境各种变量需要手动修改的问题#xff0c;比如接口请求地址#xff0c;不同环境的请求路径前缀都是不同的。在使用uni-…背景 在企业级项目开发中一般都会分为开发、测试、预发布、生产等多个环境在工程化中使用不同的打包命令改变环境变量解决不同环境各种变量需要手动修改的问题比如接口请求地址不同环境的请求路径前缀都是不同的。在使用uni-app开发项目时一般都是选择使用HbuilderX可视化创建项目也不建议使用cli工程化方式创建uni-app项目。在HbuilderX中默认只支持开发和生产两个环境点击“运行”编译出来的代码是开发环境development点击“发行”编译出来的代码是生产环境production可以通过process.env.NODE_ENV获取当前环境。但在很多企业中可能就2个环境并不能满足实际场景同时在开发微信小程序时测试和生产都是不同的appid每次部署都要手动修改切换很容易出现问题。为了解决上述问题通过在package.json中增加uni-app扩展节点实现自定义条件编译平台让每种编译具有不同环境标识。再扩展vite.config.js配置文件用环境标识判断重写文件中的appid。 解决方案 一、创建基础项目 选择默认模板注意vue版本选择3 二、增加扩展节点 根据官方文档说明扩展节点配置说明如下 {/*** package.json其它原有配置 * 拷贝代码后请去掉注释*/uni-app: {// 扩展配置scripts: {custom-platform: { //自定义编译平台配置可通过cli方式调用title:自定义扩展名称, // 在HBuilderX中会显示在 运行/发行 菜单中browser:, //运行到的目标浏览器仅当UNI_PLATFORM为h5时有效env: {//环境变量UNI_PLATFORM: , //基准平台MY_TEST: , // ... 其他自定义环境变量},define: { //自定义条件编译CUSTOM-CONST: true //自定义条件编译常量建议为大写}}}} }注意 UNI_PLATFORM仅支持填写uni-app默认支持的基准平台目前仅限如下枚举值h5、mp-weixin、mp-alipay、mp-baidu、mp-toutiao、mp-qqbrowser 仅在UNI_PLATFORM为h5时有效,目前仅限如下枚举值chrome、firefox、ie、edge、safari、hbuilderxpackage.json文件中不允许出现注释否则扩展配置无效vue-cli需更新到最新版HBuilderX需升级到 2.1.6 实际使用时暂时不用的变量直接删除新建package.json文件代码如下 {uni-app: {scripts: {wx-test: {title:微信小程序 测试环境,env: {UNI_PLATFORM: mp-weixin,NAME: test}},wx-prod: {title:微信小程序 生产环境,env: {UNI_PLATFORM: mp-weixin,NAME: production}},h5-dev: {title:H5 开发环境,browser:chrome,env: {UNI_PLATFORM: h5,NAME: development}},h5-test: {title:H5 测试环境,browser:chrome,env: {UNI_PLATFORM: h5,NAME: test}},h5-prod: {title:H5 生产环境,browser:chrome,env: {UNI_PLATFORM: h5,NAME: production}}}} }上面代码片段只以微信小程序和H5两个端为例其中只增加了常量NAME用于区分当前环境类似于process.env.NODE_ENV获取环境变量的作用。一般小程序也就测试和生产两个环境环境太多都要重新申请账号也麻烦。H5按照常规的配置本地开发、测试、生产三个环境。配置好后我们点击顶部菜单栏的“运行”和“发行”即可看到效果。 当在业务里需要使用添加的NAME变量时直接通过process.env.NAME即可获取。 四、配置其他变量 根目录下新建config目录用于放一些业务配置项再新建环境相关变量配置文件env.js代码如下 // 不同的环境变量配置 const development {requestBaseUrl: http://development, appid: , }const test {requestBaseUrl: http://test,appid: wxd5xxxxee0fce1c81, }const production {requestBaseUrl: http://production,appid: wx3xxxx1ce403cab3, }export default {development,test,production }其中变量对象名称development、test、production要和package.json文件中定义的NAME保持一致方便后续通过对象方式直接取值。变量对象中添加的是需要根据不同环境配置的变量比如后端服务请求地址小程序appid和一些别的插件key。配置后我们就可以配合环境NAME获取到不同环境的其他变量了简单使用方式如下 import ENV_CONFIG from /config/env.js console.log(ENV_CONFIG[process.env.NAME].requestBaseUrl) // 运行H5 开发环境结果 http://development每次引入获取方式肯定不够友好在uni-app中还可以通过修改vite配置添加全局变量更方便在全局使用。 首先根目录下新建vite.config.js文件内容如下 import { defineConfig } from vite import uni from dcloudio/vite-plugin-uni import ENV_CONFIG from ./env/index.jsexport default defineConfig({plugins: [uni()],define: {process.env.config: ENV_CONFIG,}, });通过定义一个全局变量process.env.config赋值为ENV_CONFIGprocess.env.config可以改为任何一个字符串这里主要是为了保持和默认通过process.env获取环境变量的语义一致性。此时使用时就无需在业务中单独引入从全局对象process.env.config上取值即可 console.log(process.env.config[process.env.NAME].requestBaseUrl) // 运行H5 开发环境结果 http://development五、动态修改小程序appid appid是在根目录下的manifest.json文件中点击后最下面有源码视图。修改的方式就是运用node的fs模块先读取manifest.json文件然后根据当前环境动态替换掉appid或者其他参数最后重新写入到当前目录下。具体也是在vite.config.js中处理 import { defineConfig } from vite; import uni from dcloudio/vite-plugin-uni; import ENV_CONFIG from ./config/env.js// 引入fs模块 import fs from fs// 读取 manifest.json 修改后重新写入 const manifestPath ${__dirname}/manifest.json; let Manifest fs.readFileSync(manifestPath, { encoding: utf-8 }); function replaceManifest(path, value) {const arr path.split(.);const len arr.length;const lastItem arr[len - 1]; let i 0;let ManifestArr Manifest.split(/\n/);for (let index 0; index ManifestArr.length; index) {const item ManifestArr[index];if (new RegExp(${arr[i]}).test(item)) i;if (i len) {const hasComma /,/.test(item);ManifestArr[index] item.replace(new RegExp(${lastItem}[\\s\\S]*:[\\s\\S]*),${lastItem}: ${typeof value string? value : value}${hasComma ? , : });break;}}Manifest ManifestArr.join(\n); } // 具体使用找到对应key值替换为新的值 // replaceManifest(app-plus.usingComponents, false);const appid ENV_CONFIG[JSON.parse(process.env.UNI_CUSTOM_DEFINE).NAME].appid replaceManifest(mp-weixin.appid, appid);fs.writeFileSync(manifestPath, Manifest, { flag: w });export default defineConfig({plugins: [uni()],define: {process.env.config: ENV_CONFIG,}, });这个修改方案是根据官方提供的代码片段修改其中进行了一些变动 manifest.json文件路径由相对路径改为__dirname获取的绝对路径replaceManifest方法中的value进行了typeof类型判断如果是字符串加上双引号。因为测试时传个字符串会替换成没引号的变量或者数字 同时关于当前环境变量的获取此时通过process.env.NAME是获取不到package.json配置的NAME的通过打印process.env可以发现此时它是个包含很多变量的json在UNI_CUSTOM_DEFINE下面是可以找到NAME这样就能根据不同环境获取不同的appid。 然后也可以用下面这种更容易理解的方式修改manifest.json但是修改后内容排在一行想要美观还需要手动格式化。 // appid获取只做参考这里只是说明简单的只有两个环境可以直接取process.env.NODE_ENV判断 let appid process.env.NODE_ENV production ? 生产的appid : 开发的appid // manifest.json 路径 let manifestFileUrl ${__dirname}/manifest.json // 读取文件数据 let manifestFileData fs.readFileSync(manifestFileUrl, { encoding: utf8 }); // 移除// 和 /* */注释 manifestFileData manifestFileData.replace(/\\|(?:\\|[^])*|(\/\/.*|\/\*[\s\S]*?\*\/)/g, (m, g) g ? : m) // // 将txt转成obj let manifestFileDataObj JSON.parse(manifestFileData) // 修改指定key对应的valuemanifestFileDataObj[mp-weixin][appid] appid // 把修改后的对象以json写入文件 fs.writeFileSync(manifestFileUrl, JSON.stringify(manifestFileDataObj), { encoding: utf8 })六、使用方式 需要本地调试时点击工具栏“运行”选择自定义的对应开发或测试环境业务中通过process.env.config[process.env.NAME]获取配置的变量对象上线时点击工具栏“发行”选择自定义的对应测试或生产环境 运行环境 以上代码是运行在Hbuilderx 3.7.9版本项目为vue3版本基于vite构建。如在vue2版本上使用请按照vite.config.js逻辑自行探索配置vue.config.js文件。
文章转载自:
http://www.morning.lkpzx.cn.gov.cn.lkpzx.cn
http://www.morning.bwxph.cn.gov.cn.bwxph.cn
http://www.morning.byrlg.cn.gov.cn.byrlg.cn
http://www.morning.huarma.com.gov.cn.huarma.com
http://www.morning.pzlcd.cn.gov.cn.pzlcd.cn
http://www.morning.kqpxb.cn.gov.cn.kqpxb.cn
http://www.morning.rgmd.cn.gov.cn.rgmd.cn
http://www.morning.qdcpn.cn.gov.cn.qdcpn.cn
http://www.morning.ljwyc.cn.gov.cn.ljwyc.cn
http://www.morning.smzr.cn.gov.cn.smzr.cn
http://www.morning.elsemon.com.gov.cn.elsemon.com
http://www.morning.mnpdy.cn.gov.cn.mnpdy.cn
http://www.morning.dqrhz.cn.gov.cn.dqrhz.cn
http://www.morning.txkrc.cn.gov.cn.txkrc.cn
http://www.morning.sqtsl.cn.gov.cn.sqtsl.cn
http://www.morning.ntdzjx.com.gov.cn.ntdzjx.com
http://www.morning.rbjp.cn.gov.cn.rbjp.cn
http://www.morning.qjlkp.cn.gov.cn.qjlkp.cn
http://www.morning.hcqpc.cn.gov.cn.hcqpc.cn
http://www.morning.bgzgq.cn.gov.cn.bgzgq.cn
http://www.morning.qrqg.cn.gov.cn.qrqg.cn
http://www.morning.tqpr.cn.gov.cn.tqpr.cn
http://www.morning.wplbs.cn.gov.cn.wplbs.cn
http://www.morning.hctgn.cn.gov.cn.hctgn.cn
http://www.morning.klyzg.cn.gov.cn.klyzg.cn
http://www.morning.zxfr.cn.gov.cn.zxfr.cn
http://www.morning.mbprq.cn.gov.cn.mbprq.cn
http://www.morning.khxyx.cn.gov.cn.khxyx.cn
http://www.morning.dztp.cn.gov.cn.dztp.cn
http://www.morning.ltrms.cn.gov.cn.ltrms.cn
http://www.morning.darwallet.cn.gov.cn.darwallet.cn
http://www.morning.ypmqy.cn.gov.cn.ypmqy.cn
http://www.morning.jqrp.cn.gov.cn.jqrp.cn
http://www.morning.zwgbz.cn.gov.cn.zwgbz.cn
http://www.morning.hnzrl.cn.gov.cn.hnzrl.cn
http://www.morning.hjjhjhj.com.gov.cn.hjjhjhj.com
http://www.morning.plgbh.cn.gov.cn.plgbh.cn
http://www.morning.znrlg.cn.gov.cn.znrlg.cn
http://www.morning.xxgfl.cn.gov.cn.xxgfl.cn
http://www.morning.liyixun.com.gov.cn.liyixun.com
http://www.morning.plqsz.cn.gov.cn.plqsz.cn
http://www.morning.bdtpd.cn.gov.cn.bdtpd.cn
http://www.morning.snbq.cn.gov.cn.snbq.cn
http://www.morning.lsjgh.cn.gov.cn.lsjgh.cn
http://www.morning.rlpmy.cn.gov.cn.rlpmy.cn
http://www.morning.rkdnm.cn.gov.cn.rkdnm.cn
http://www.morning.xdpjf.cn.gov.cn.xdpjf.cn
http://www.morning.cmzgt.cn.gov.cn.cmzgt.cn
http://www.morning.lfbzg.cn.gov.cn.lfbzg.cn
http://www.morning.ncfky.cn.gov.cn.ncfky.cn
http://www.morning.pqjpw.cn.gov.cn.pqjpw.cn
http://www.morning.zpyxl.cn.gov.cn.zpyxl.cn
http://www.morning.mqnbm.cn.gov.cn.mqnbm.cn
http://www.morning.xnrgb.cn.gov.cn.xnrgb.cn
http://www.morning.pcshb.cn.gov.cn.pcshb.cn
http://www.morning.wgbmj.cn.gov.cn.wgbmj.cn
http://www.morning.rzdpd.cn.gov.cn.rzdpd.cn
http://www.morning.kjlia.com.gov.cn.kjlia.com
http://www.morning.psxcr.cn.gov.cn.psxcr.cn
http://www.morning.knlgk.cn.gov.cn.knlgk.cn
http://www.morning.tsgxz.cn.gov.cn.tsgxz.cn
http://www.morning.zcsyz.cn.gov.cn.zcsyz.cn
http://www.morning.yuanshenglan.com.gov.cn.yuanshenglan.com
http://www.morning.thnpj.cn.gov.cn.thnpj.cn
http://www.morning.qddtd.cn.gov.cn.qddtd.cn
http://www.morning.qxlgt.cn.gov.cn.qxlgt.cn
http://www.morning.qzglh.cn.gov.cn.qzglh.cn
http://www.morning.xqndf.cn.gov.cn.xqndf.cn
http://www.morning.oioini.com.gov.cn.oioini.com
http://www.morning.qmtzq.cn.gov.cn.qmtzq.cn
http://www.morning.fxpyt.cn.gov.cn.fxpyt.cn
http://www.morning.lffbz.cn.gov.cn.lffbz.cn
http://www.morning.knwry.cn.gov.cn.knwry.cn
http://www.morning.fnfhs.cn.gov.cn.fnfhs.cn
http://www.morning.sryhp.cn.gov.cn.sryhp.cn
http://www.morning.zmtrk.cn.gov.cn.zmtrk.cn
http://www.morning.jcrlx.cn.gov.cn.jcrlx.cn
http://www.morning.qwzpd.cn.gov.cn.qwzpd.cn
http://www.morning.wfttq.cn.gov.cn.wfttq.cn
http://www.morning.fewhope.com.gov.cn.fewhope.com
http://www.tj-hxxt.cn/news/251946.html

相关文章:

  • 微网站建设报价方案模板做网站需不需要购买服务器
  • 宿州网站开发公司做网站需要准备哪些材料
  • 网站是否被k科室建设网站
  • 济宁网站建设公司如何开网店拼多多
  • 设计一套企业网站多少钱小程序推广代理商
  • 电子商务与网站建设实践论文拼多多怎么查商品排名
  • 国外服装设计网站白酒网站模版
  • 自己做链接网站网站建设与维护 出题
  • 如何建网站商城产品线上推广方案
  • 2016年网站建设方案ppt什么叫网站域名
  • 网站系统与网站源码的关系营销型网站建设哪家专业
  • 青岛网站快速排名提升中信建设有限责任公司在柬埔寨的建筑项目
  • 西地那非片的正确服用方法沈阳关键词优化公司
  • 黑龙江新闻媒体求助电话烟台网站排名优化费用
  • html5网站建设 教程视频自己制作网站该怎么做
  • 专门做老年旅游的网站wordpress tag标签调用
  • 网站备案太麻烦asp网站开发人员招聘
  • 游戏网站平台怎么做的利州区住房和城乡建设部网站
  • 什么网站做二手货车开发网站去哪里学
  • 永州网站seo雨燕直播
  • 基于C 的网站开发源码id文件直接导入wordpress
  • 福田网站建设费用预算百度云建站
  • 建设厅科技中心网站首页腾讯服务器租用
  • 泰州网站制作哪家好网站建设设计 昆山
  • 做外贸都做哪些网站好免费网站空间的根目录
  • 网站开发语言在那看出来如何通过阿里云自己做网站
  • 在线室内设计网站广告机信息发布系统软件
  • 怎样发展网站漳州 网站建设多少钱
  • 天津网站开发贴吧湖北营销网站建设设计
  • 企业网站宣传方案网页前端开发培训