taro学习笔记

1、动态配置appid

动态配置脚本,在根目录下新增脚本,setProjectConfig.jsnode

var fs = require('fs')npm

const config = {}json

const testAppId = 'wx27c37580857867d0'微信

const prodAppId = 'wxf8995ca00fcdf03d'markdown

switch (process.env.PROJECT_ENV) {app

case 'dev':动画

config.appid = testAppIdui

breakspa

case 'test':3d

config.appid = testAppId

break

case 'prod':

config.appid = prodAppId

break

default:

config.appid = testAppId

}

function writeJson() {

fs.readFile('./project.config.json', function(err, data) {

if (err) {

return console.error()

}

var person = {...JSON.parse(data.toString()), ...config}

var str = JSON.stringify(person, null, 2)

fs.writeFile('./project.config.json', str, (writeError) => {

if (writeError) {

console.error(writeError)

} else {

console.log('-------修改为功-------')

}

})

})

}

writeJson()

再修改package.json文件中的script启动脚本

"set:prod": "cross-env PROJECT_ENV=prod node ./setProjectConfig.js",

"set:test": "cross-env PROJECT_ENV=test node ./setProjectConfig.js",

"set:dev": "cross-env PROJECT_ENV=dev node ./setProjectConfig.js",

"prod:weapp": "npm run set:prod && cross-env PROJECT_ENV=prod taro build --type weapp",

"test:weapp": "npm run set:test && cross-env PROJECT_ENV=test taro build --type weapp",

"dev:weapp": "npm run set:dev && cross-env PROJECT_ENV=dev taro build --type weapp --watch"

2、taro之坑

  • transition平移动画第一次不生效问题

解法: 不要用View组件,用Image组件

  • 盒模型

其实这不是taro的问题,是微信的问题,微信盒模型比较奇怪

Tips:

一、~是js里的按位取反操做符,**就是执行两次按位取反,其实就是保持原值,可是注意虽然是原值,可是对布尔型变量执行这个操做,会转化成相应的数值型变量,也就是true === 1,~~**false === 0

相关文章
相关标签/搜索