c vscode 高亮_vscode怎么高亮打开wpy文件开发微信小程序
原本想用mpvue来开发小程序的,后面决定使用wepy来开发,踩坑开始,哈哈。
安装使用
安装(更新) wepy 命令行工具。
npm install wepy-cli -g
生成开发示例
wepy init standard myproject
安装依赖
cd myproject
npm install
开发实时编译
wepy build --watch
开发者工具导入项目
使用微信开发者工具新建项目,本地开发选择项目根目录,会自动导入项目配置。
vsCode 开发微信小程序可以配置以下插件,让开发更美好:
1. vscode weapp api
2. vscode wxml
3. vscode-wechat
4. Easy WXLESS
5. VUE相关
进入配置设置
在settings.js文件下添加如下代码
"files.associations": {
"*.vue": "vue",
"*.wpy": "vue",
"*.wxml": "html",
"*.wxss": "css"
},
"emmet.syntaxProfiles": {
"vue-html": "html",
"vue": "html"
}
Sublime下代码高亮
文件后缀为.wpy,可共用vue高亮,但需要手动安装。
打开Sublime->Preferences->Browse Packages..进入用户包文件夹。
在此文件夹下打开cmd,运行git clone git@github.com:vuejs/vue-syntax-highlight.git,无GIT用户可以直接下载zip包解压至当前文件夹。
关闭.wpy文件重新打开即可高亮。
WebStorm下代码高亮
打开Preferences,搜索Plugins,搜索Vue.js插件并安装。
打开Preferences,搜索File Types,找到Vue.js Template,在Registered Patterns添加*.wpy,即可高亮。
Atom下代码高亮
在Atom里先安装vue的语法高亮 – language-vue,如果装过了就忽略这一步。
打开Atom -> Config菜单。在core键下添加:
customFileTypes:
"text.html.vue": [
"wpy"
]
代码规范
变量与方法使用尽量使用驼峰式命名,避免使用$开头。
入口,页面,组件的命名后缀为.wpy。外链的文件可以是其它后缀。
使用ES6语法开发。 框架在ES6下开发,因此也需要使用ES6开发小程序,ES6中有大量的语法糖可以让我们的代码更加简洁高效。
使用Promise: 框架默认对小程序提供的API全都进行了 Promise 处理,甚至可以直接使用async/await等新特性进行开发。
事件绑定语法使用优化语法代替: 原bindtap=”click”替换为@tap=”click”,原catchtap=”click”替换为@tap.stop=”click”。更多@符用法
事件传参使用优化后语法代替: 原bindtap=”click” data-index={{index}}替换为@tap=”click({{index}})”。
自定义组件命名应避开微信原生组件以及功能标签。 不可以使用input, button, view, repeat等命名自定义组件。
优点
支持组件化开发。
支持加载外部NPM包。
单文件模式,使得目录结构更加清晰。
默认使用babel编译,支持ES6/7的一些新特性。
针对原生API进行优化。
wpy文件说明
一个.wpy文件分为三个部分:
1. 样式对应原有wxss。
2. 模板对应原有wxml。
3. 代码对应原有js。
其中入口文件app.wpy不需要template,所以编译时会被忽略。这三个标签都支持lang和src属性,lang决定了其代码编译过程,src决定是否外联代码,存在src属性且有效时,忽略内联代码,示例如下:
// some code
标签对应 lang 值如下表所示:
标签 lang默认值 lang支持值
style css css,less,sass,stylus
template wxml wxml,xml,pug(原jade)
script bable bable,TypeScript
demo
index.wpy
.userinfo {
display: flex;
flex-direction: column;
align-items: center;
}
.userinfo-avatar {
width: 80rpx;
height: 80rpx;
border-radius: 50%;
}
.userinfo-nickname {
color: #aaa;
}
{{ userInfo.nickName }}
{{ datas }}'111'
登录
用户信息
测试数据绑定
{{normalTitle}}
{{setTimeoutTitle}}
{{mixin}}
{{mynum}}
{{now}}
+
其它测试
第三方组件
组件通信
混合TAP事件
测试并发网络请求
返回结果:
{{netrst}}
点我发起10个请求
测试组件
计数组件1:
计数组件2:
测试组件Repeat
测试列表
import wepy from 'wepy'
import List from '../components/list'
import Panel from '../components/panel'
import Counter from '../components/counter'
import Group from '../components/group'
import Toast from 'wepy-com-toast'
import testMixin from '../mixins/test'
// 引入 QCloud 小程序增强 SDK
import qcloud from '../assets/qcloud-weapp-client-sdk/index'
export default class Index extends wepy.page {
config = {
navigationBarTitleText: 'test'
}
components = {
panel: Panel,
counter1: Counter,
counter2: Counter,
list: List,
group: Group,
toast: Toast
}
mixins = [testMixin]
data = {
datas: '',
mynum: 20,
userInfo: {
nickName: '加载中...'
},
normalTitle: '原始标题',
setTimeoutTitle: '标题三秒后会被修改',
count: 0,
netrst: '',
groupList: [
{
id: 1,
name: '点击改变',
list: [
{
childid: '1.1',
childname: '子项,点我改变'
}, {
childid: '1.2',
childname: '子项,点我改变'
}, {
childid: '1.3',
childname: '子项,点我改变'
}
]
},
{
id: 2,
name: '点击改变',
list: [
{
childid: '2.1',
childname: '子项,点我改变'
}, {
childid: '2.2',
childname: '子项,点我改变'
}, {
childid: '2.3',
childname: '子项,点我改变'
}
]
},
{
id: 3,
name: '点击改变',
list: [
{
childid: '3.1',
childname: '子项,点我改变'
}
]
}
]
}
computed = {
now() {
return +new Date()
}
}
methods = {
doLogin() {
qcloud.setLoginUrl('https://66280981.qcloud.la/api/user/login');
qcloud.login({
success: function (userInfo) {
console.log('登录成功', userInfo);
},
fail: function (err) {
console.log('登录失败', err);
}
});
},
enevts() {
qcloud.request({
url: `https://66280981.qcloud.la/api/user/info`,
login: true,
success: (response) => {
console.log(response.data.data.userInfo)
// this.me = response.data.data.userInfo;
// this.connect();
}
});
},
plus() {
this.mynum++
},
toast() {
let promise = this.$invoke('toast', 'show', {
title: '自定义标题',
img: 'https://raw.githubusercontent.com/kiinlam/wetoast/master/images/star.png'
})
promise.then((d) => {
console.log('toast done')
})
},
tap() {
console.log('do noting from ' + this.$name)
},
communicate() {
console.log(this.$name + ' tap')
this.$invoke('counter2', 'minus', 45, 6)
this.$invoke('counter1', 'plus', 45, 6)
this.$broadcast('index-broadcast', 1, 3, 4)
},
request() {
let self = this
let i = 10
let map = ['MA==', 'MQo=', 'Mg==', 'Mw==', 'NA==', 'NQ==', 'Ng==', 'Nw==', 'OA==', 'OQ==']
while (i--) {
wepy.request({
url: 'https://www.madcoder.cn/tests/sleep.php?time=1&t=css&c=' + map[i] + '&i=' + i,
success: function (d) {
self.netrst += d.data + '.'
self.$apply()
}
})
}
},
counterEmit(...args) {
let $event = args[args.length - 1]
console.log(`${this.$name} receive ${$event.name} from ${$event.source.$name}`)
}
}
events = {
'index-emit': (...args) => {
let $event = args[args.length - 1]
console.log(`${this.$name} receive ${$event.name} from ${$event.source.$name}`)
}
}
onLoad() {
let self = this
this.$parent.getUserInfo(function (userInfo) {
if (userInfo) {
self.userInfo = userInfo
}
self.normalTitle = '标题已被修改'
self.setTimeoutTitle = '标题三秒后会被修改'
setTimeout(() => {
self.setTimeoutTitle = '到三秒了'
self.$apply()
}, 3000)
self.$apply()
})
}
}
转载自:https://blog.csdn.net/yang450712123/article/details/79276099
c vscode 高亮_vscode怎么高亮打开wpy文件开发微信小程序相关推荐
- vsCode 开发微信小程序插件
用 vsCode 开发微信小程序可以配置以下插件,让开发更美好: 1. vscode weapp api 2. vscode wxml 3. vscode-wechat 4. Easy WXLESS ...
- 微信小程序不支持打开非业务域名_微信小程序显示不支持打开非业务域名的解决方法...
随着科技时代的进步,无论是软件还是硬件都在飞速的成长和创新,从以前大多数都是软件到现在快应用小程序的出现,都是经历了非常多的时间演变,才慢慢的到了如今这个地步. 快应用:九大手机厂商基于硬件平台共同推 ...
- vscode开发微信小程序插件
用 vsCode 开发微信小程序,由于wxml 及 wxss文件不能直接被识别,因此在vscode中作为纯文本,不能高亮显示,可以配置以下插件,让开发更美好: 1. vscode weapp api ...
- vscode开发微信小程序之插件安装
工欲善其事,必先利其器 学习使用VSCODE开发微信小程序,在开发之前先把工具准备好 需要在VSCODE中下载: vscode weapp api vscode wxml vscode-wechat ...
- 使用vscode开发微信小程序
1. 安装插件 2. 文件-打开文件夹-将新建的微信小程序导入,代码会有高亮的效果 3. 编辑内容,查看效果,如果有就说明插件引入成功.
- ieda ts文件报错_使用TS开发微信小程序(1):环境搭建——VSCode+TS
前言 现在接到小程序需要改版的需求,由于使用Ionic的经验,希望以后能够统一开发语言降低开发成本,所以想使用TypeScript进行开发. 开发前准备工作 先是看官网,在微信小程序的官方开发文档中找 ...
- 【小程序地图】uniapp开发微信小程序,显示地图功能,且点击后打开高德或腾讯地图。
最开始遇到地图这块的时候,想的比较复杂.想到是不是需要引用高德或者百度地图api 之类的. 其实完全没必要,使用uniapp自带的方法 uni.openLocation 即可. 话不多说,完整代码.注 ...
- 微信小程序打开红包的css_微信小程序 css使用技巧总结
微信小程序 css使用技巧 1:用纯CSS创建一个三角形的原理把上.左.右三条边隐藏掉(颜色设为 transparent) .demo { width: 0; height: 0; border-wi ...
- 开发微信小程序:设置某个页面为启动后打开的第一个页面
在开发微信小程序的时候,除了tabBar上设置的页面之外,想进入肯定要走跳转之类的进入,但是我们开发的时候肯定想要直接看到该页面,那么我们就需要设置一下启动页面了有两种方法. 方法一 在app.jso ...
最新文章
- CNCC技术论坛丨联邦学习冲刺人工智能“最后一公里”!
- CV:计算机视觉技术之图像基础知识(二)—图像内核的可视化解释
- using namespace cv_闪耀暖暖万圣节非凡魔女南瓜套公开 消耗钻石获取 大喵无CV
- 5_jfoenix_运行jfoenix官方演示,切换片段,部署
- 如何实现登录、URL和页面按钮的访问控制?
- Java实现学生管理系统
- 软件工程之需求说明书
- 显卡故障软件测试,显卡软硬件故障检查与排除实战
- Android 呼叫转移
- 下一个EOS红利?仅上线2天就吸金13亿
- 计算机模拟地球爆炸,地球爆炸模拟器
- wishbone协议(B.3)下载地址
- [转贴]COM Interop 注册相关
- 抖音研发效率负责人:抖音能做到每周迭代,离不开飞书项目
- 时序预测之三_傅立叶和小波变换
- 技嘉主板z490ud更新最新bios,进不去bios了
- 日常编程笔记 | 2022.10.1 | 归并排序_一无序列
- ad如何绘制拼版_Altium Design PCB拼板完整教程,这样讲就明白了!
- 修改迅雷下载链接的方法。
- 【3】Ubuntu18.04下载与安装,以及中文输入法的安装
热门文章
- 75岁彪马再发NFT 复活美洲狮IP
- 数值分析—三次样条函数插值(四)
- matlab计算海洋浮力频率_水深数据+海岸线数据提取绘图(海洋科学)
- 正点原子MiniFly Firmware V1.5开源四轴代码分析一:pid.c,attitude_pid.c。
- 使用Vuforia创建PokémonGO风格增强现实游戏:第2部分
- 海关179号公告对接联调
- Android 遗忘率贼高的方法和代码汇总
- http缓存策略以及强缓存和协商缓存浅析
- 使用Github+PicGo+jsDelivr CDN搭建免费图床
- termux android api,Termux-API