Appearance
小程序 JavaScript 转 TypeScript
新增文件夹 miniprogram
根目录新建 miniprogram 文件夹,将之前代码都移动到此文件夹中
更新 project.config.json 中 npm 配置
自定义packNpm配置
json
{
"setting":{
"enhance": true,
"packNpmManually": true,
"packNpmRelationList": [{
"packageJsonPath": "package.json",
"miniprogramNpmDistDir": "./miniprogram/"
}],
}
}{
"setting":{
"enhance": true,
"packNpmManually": true,
"packNpmRelationList": [{
"packageJsonPath": "package.json",
"miniprogramNpmDistDir": "./miniprogram/"
}],
}
}更新 package.json
编辑 package.json, 增加 miniprogram-api-typings 和 typeScript 版本
json
"scripts": {
...,
"compile": "./node_modules/typescript/bin/tsc",
"tsc": "node ./node_modules/typescript/lib/tsc.js"
},
"devDependencies": {
...,
"typescript": "^4.3.2",
"miniprogram-api-typings": "^3.3.2"
}"scripts": {
...,
"compile": "./node_modules/typescript/bin/tsc",
"tsc": "node ./node_modules/typescript/lib/tsc.js"
},
"devDependencies": {
...,
"typescript": "^4.3.2",
"miniprogram-api-typings": "^3.3.2"
}增加 tsconfig.json
项目根目录下新增tsconfig.json,修改 lib 为 ["esnext"],支持最新语法, 删除 typeRoots 配置项
json
{
"compilerOptions": {
"strictNullChecks": true,
"noImplicitAny": true,
"module": "CommonJS",
"target": "esnext",
"allowJs": true,
"experimentalDecorators": true,
"noImplicitThis": true,
"noImplicitReturns": true,
"alwaysStrict": true,
"inlineSourceMap": true,
"inlineSources": true,
"noFallthroughCasesInSwitch": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"strict": true,
"removeComments": true,
"pretty": true,
"strictPropertyInitialization": true,
"lib": ["esnext"],
"types": [
"miniprogram-api-typings"
]
},
"include": [
"./**/*.ts"
],
"exclude": [
"node_modules"
]
}{
"compilerOptions": {
"strictNullChecks": true,
"noImplicitAny": true,
"module": "CommonJS",
"target": "esnext",
"allowJs": true,
"experimentalDecorators": true,
"noImplicitThis": true,
"noImplicitReturns": true,
"alwaysStrict": true,
"inlineSourceMap": true,
"inlineSources": true,
"noFallthroughCasesInSwitch": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"strict": true,
"removeComments": true,
"pretty": true,
"strictPropertyInitialization": true,
"lib": ["esnext"],
"types": [
"miniprogram-api-typings"
]
},
"include": [
"./**/*.ts"
],
"exclude": [
"node_modules"
]
}