Skip to content

Commit c41a47e

Browse files
authored
Merge pull request #22 from WingGao/develop
修复TS识别as的情况
2 parents 4933275 + e3f4843 commit c41a47e

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

lib/mp-compiler/parse-ts.js

+8-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@ let ts
22
try {
33
ts = require('typescript')
44
} catch (e) {
5-
5+
// console.error(e)
66
}
77

88
function parseComponentsDeps (scriptContent) {
9+
if (ts === null) {
10+
throw new Error('Please run `npm install -S typescript` to install TypeScript.')
11+
}
912
const sourceFile = ts.createSourceFile('test', scriptContent, ts.ScriptTarget.ESNext, /* setParentNodes */ true)
1013
return delint(sourceFile)
1114
}
@@ -21,7 +24,10 @@ function delint (sourceFile) {
2124
if (node.expression.expression && node.expression.expression.escapedText === 'Component') {
2225
const compArgs = node.expression.arguments
2326
if (compArgs && compArgs.length === 1) {
24-
const vueClassArg = compArgs[0]
27+
let vueClassArg = compArgs[0]
28+
if (vueClassArg.kind === ts.SyntaxKind.AsExpression) { // @Component({ components: ...,} as any)
29+
vueClassArg = vueClassArg.expression
30+
}
2531
if (vueClassArg.properties) {
2632
vueClassArg.properties.forEach((classProp) => {
2733
// 处理components属性

0 commit comments

Comments
 (0)