新建一个uniapp项目,使用默认配置
新增tsconfig:
{
"compilerOptions": {
"target": "esnext",
"module": "esnext",
"moduleResolution": "node",
"strict": true,
"jsx": "preserve",
"sourceMap": true,
"skipLibCheck": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"lib": ["esnext", "dom"],
"types": [],
"baseUrl": ".",
"paths": {
"~/*": ["src/*"]
}
},
"vueCompilerOptions": {
"experimentalCompatMode": 2
},
"include": ["**/*.ts", "**/*.d.ts", "**/*.*.d.ts", "**/*.tsx", "**/*.vue"],
"exclude": ["node_modules", "dist"]
}
新建a.ts
export default function(){
const obj = {name:'Joe'};
console.log(obj?.name);
};
在App.vue里import a
import consoleA from './a.ts';
export default {
onLaunch: function() {
console.log('App Launch')
consoleA();
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
}
}
编译报错:
15:29:35.395 语法错误: D:\git\test\a.ts: Unexpected token (3:22)
15:29:35.398 1 | export default function () {
15:29:35.398 2 | const obj = { name: 'Joe' };
15:29:35.401 > 3 | console.log(obj ? .name : );
15:29:35.401 | ^
15:29:35.404 4 | }
15:29:35.404 5 | ;
15:29:35.407 6 |
15:29:35.411 at a.ts:3
15:29:35.411 [tsl] ERROR in D:\git\test\a.ts(5,18)
15:29:35.414 TS1109: Expression expected.
15:29:35.414 [tsl] ERROR in D:\git\test\a.ts(5,23)
15:29:35.417 TS1005: ':' expected.