vscode+gulp 간단한 프로그램 개발 전체 절차
설치 방법:
#
npm install -g wechat-mini-gulp
#
wechat-gulp run init
#
npm install
운행
#
npm run gulpdev
#
npm run gulpbuild
#
npm run gulptest
# console
npm run gulpclean
# routerConfig
npm run gulpsync
프로젝트 디렉토리루트 디렉토리
--gulp//gulp 퀘스트 패키지
| | – pageTemplate//페이지 템플릿 파일
| | – cleanplugin//console-gulp 플러그인 비우기
│ ├── changeEnvMode.js//환경 변수 수정
│ ├── config.js//구성
│ ├── createdWechatFile.js//새로 추가ybf.js 자동 동기화
│ ├── createdYbfcss.js//컴파일 scss
│ ├── createdYbftsbuild.js//컴파일ts
│ ├── createYbfPageTask.js//컴파일ybf.js
│ ├── env.js//환경 변수
│ ├── gulpCleanConsole.js//console-퀘스트 대기열 비우기
│ └── synsPages.js//동기화 app.json 아래의 페이지, 후기 루트 처리 권한
│ └── utils.js//도구 방법
├── gulpfile.js//gulp 작업 항목
├── package.json//npm 의존
ε-toulPlugins//확장 애플릿 루트 방법, 실체 방법 등
| – extendPage//페이지 확장 방법
| – extendWxApi//확장 wx 내장 방법
| – index//plugins 다음 파일 내보내기
|-routerHandle//위조 vue-router, 프록시 wx 내장 점프 방법
ε-routesConfig//vue-routes 위조, 현재 애플릿 페이지 경로
전역 방법 사용
앱에서js 아래 도입
//
import './toulPlugins/index'
내장형 글로벌 wx 방법 제공실행 변수 가져오기
이 파일은/gulp/env에 있습니다.js, 대외 내보내기
api 라우팅 방법
위챗 방법을 2차 봉인하여 상응하는query와params 쓰기를 확장하였다
wx.$router.push // vue vue.router.push
wx.$router.replace // vue vue.router.replace
wx.$router.switchTab // tab switchTab
wx.$router.push 및 wx.$router.replace 방법은 모두 전송된 매개 변수 대상이나 문자열을 지원합니다. 다음과 같습니다.
//
wx.$router.push('/pages/index/index')
//
wx.$router.push({
url: '/pages/index/index',
params: {},
query: {}
events: {} //
})
위의 방법은 각 페이지 내부에서this.__query 전달된query,this._params 전송된 params 가져오기
// this.__params
wx.$router.push('/pages/index/index?id=1')
특히 주의:!!!!!!!프로젝트에서 공유 처리를 하려면 onLoad에서 전송된 파라미터를 단독으로 받아야 합니다. 구체적인 내용은
위챗 애플릿 페이지 라우팅(developers.weixin.qq.com/miniprogram..)
공유된 코드가 wx.$를 거치지 않았기 때문에router.xxx 방법의 처리
wxml 페이지 루트 방법
wxml 페이지에서 $toPage를 직접 호출하는 방법을 확장했습니다. wx.$를 직접 호출할 수 있습니다.router.xxx ,
태그에 대응하는 데이터-xxx 전송 필요
data-url 점프가 필요한 루트 주소
data-totype 점프 방법, 지원:
<view catch:tap="$goPage" data-url="/pages/mine/order/index?userType=isC&orderStatus=4" data-totype="push"></view>
사진 업로드
// pages.js
// chooseImage ,
wx.$wxUploadFile(tempFilePaths[0]).then(obj => {})
//
wx.$wxUploadFile = (imageUrl) => {
}
절류 함수
wx.$YBFThrottle = (cb, delay = 300) => {
const nowPage = wx.$getNowPage()
if (!nowPage.isCanClick) return
nowPage.isCanClick = false
cb && cb()
setTimeout(() => {
nowPage.isCanClick = true
}, delay)
}
글로벌 라우팅 차단 처리
// /toulPlugins/extendWxApi.js
//
wx.$beforeRouter = (from, to, next) => {
// ...someCode
}
//
wx.$afterRouter = (oldRoute, toRoute) => {
// ...code
}
현재 페이지 정보 가져오기
//
wx.$getNowPage = () => {
// ...code
}
이전 페이지 정보 가져오기
//
wx.$getPrevPage = () => {
// ...code
}
탄창 확인 confirm취소 및 확인 버튼 포함
// confirm
// return promise
wx.$confirm = (options) =>{}
모드 상자 toast
// return promise
wx.$toast = (msg, cb) => {}
복사
// return void
wx.$copy = (msg) => {}
once 함수
wx.$once(fn)
기본 구성파일은:gulp/config에 있습니다.js 거리
프로젝트 루트 디렉터리에 gulpconfig를 추가해야 합니다.js 파일, 변경 중
// gulpconfig.js
//
module.exports = {
//
alisa: {
'@plugins': "./plugins",
'@scss': './scss',
'@utils': './utils',
'@api': './api',
'@config': './config',
'@images': './images'
},
// js , ybf.js
buildJsUrl: ['./pages/**/ybf.js'],
// , gulp
// scss , abc.scss abc.scss
buildScssUrl: ['./pages/**/*.scss', './components/**/*.scss'],
// ts
buildTsUrl: ['./**/*.ts'],
// app.json
appJsonFilePath: './app.json',
// ts
isTs: false
}
routesConfig 구성이 파일은 주로 wx.$를 구성하기 위해beforeRouter 및 wx.$afterRouter로 구성된 파일
파일은./toulPlugins/routesConfig.js
예:
export default [
{
path: 'pages/index/index' // app.json pages
meta: {
noPage: true //
}
}
]
Gulp 파일 설명에 위치/gulp
환경 변수
작은 프로그램이 웹 팩에 개발되는 것처럼api 환경을 자동으로 컴파일합니다
// changeEnvMode.js
// /config/env.ts , mode=dev ts
function changeEnvMode(mode) {
// ...somecode
buildTypeScript({})
}
이 파일의 역할은 개발자가 관련 코드를 닫는 것을 피하기 위해api의 조정을 크게 향상시켰다감청ybf.js 생성 index.js
// createYbfPageTask.js
// ybf , @ , /pages , index.js,
function createYbfPageTask(event) {
// ...somecode
}
scss 파일 생성 인덱스를 감청합니다.wxss
// createdYbfcss.js
// px rpx @ , component pages index.scss, index.scss
function createdYbfcss(event) {
// ...somecode
}
ts 파일 생성에 대응하는 js 감청
// buildTypeScript.js
// ts , ts , ts
function buildTypeScript(event) {
// ...somecode
}
파일에 존재하는 console를 삭제합니다.log
// gulpCleanConsole.js
function gulpCleanConsole() {
// ...somecode
}
새 ybf를 감청합니다.js 파일 (이 파일이 중점)
// createdWechatFile.js
// pages ybf.js , wxss,wxml,scss,ybf.js,json
function generateFile(event) {
generateJson()
generateRoute()
}
// app.json pages
function generateJson(pageUrl) {
}
// /toulPlugins/routesConfig.js
function generateRoute(pageUrl) {}
새 작은 프로그램 페이지가 필요할 때, 상대적인 폴더에서ybf를 추가합니다.js 파일은 대응하는 작은 프로그램 파일과 루트를 새로 만듭니다.앱 동기화.json의 페이지
// synsPages.js
// app.json pages ,
function syncPage() {}
스타와 pr을 환영합니다.github 주소:github.com/popup-jie/w …
총결산
이 vscode+gulp가 쉽게 프로그램을 개발하는 것에 관한 이 글은 여기까지 소개되었습니다. 더 많은 vscode+gulp 개발 프로그램에 관한 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
React Typescript 스니펫새로운 구성 요소를 생성할 때 동일한 코드를 입력하는 데 지쳤다면 VS Code가 제공하는 멋진 솔루션인 코드 스니펫 🔥이 있습니다. 다음은 Typescript로 React 구성 요소를 만들기 위한 두 가지 스니펫입...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.