最近做的一个需求是,将线上小程序的某部分功能页面,加到APP
版本上。幸好APP
版本是vue
项目,小程序的代码又与h5相似,所以样式结构逻辑直接挪过来再慢慢改也能做。
小程序页面挪到vue
项目,那就是:
.wxss
代码放在<style scoped></style>
标签里.wxml
代码放在<template></template>
标签里,可能需要加层<div></div>
.js
里的data、onLoad、properties等放在对应代码里
vscode编辑器正则匹配替换字符
挪过来后,在用编辑器做一些简单的替换工作时,可以使用vscode编辑器
的正则表达式匹配替换。
比如wxml
中的{
{}}
语法,可以用"\{\{(((?!-).)*)\}\}"
匹配,用$1
替换;效果如下图:
<view class="adv flex1" wx:for="{
{objadverList}}" wx:key="i" wx:for-index="i" wx:for-item="item" bindtap="adJump" data-line="{
{item.result.Link}}" data-asid="{
{item.Taskid}}">
替换为
<view class="adv flex1" wx:for="objadverList" wx:key="i" wx:for-index="i" wx:for-item="item" bindtap="adJump" data-line="item.result.Link" data-asid="item.Taskid">
这里推荐下其他的情况处理方法:
VSCode使用正则表达式进行内容替换
VS Code编辑器中使用正则表达式排除包含某个字符串的行
使用 VsCode 正则替换
但是,vscode
好像不支持计算,比如100rpx
替换成50px
,总共八百多行的样式一行一行改怕不是要疯掉…
想到node
可以读写文件,试下能不能拯救码农的头发。
用node执行js文件整体替换
1.将下面的代码另存为一个js
文件,放在需要替换字符的vue
文件的同级目录下
2.修改代码中的fileName
,改成自己的vue
文件名
3.执行终端命令,如: node .\(自己取的文件名).js
;
const fs = require('fs')
let fileName = 'sameTrainRecommend.vue' // 需要替换字符的文件名
fs.readFile(`${
__dirname}/${
fileName}`,