我正在尝试用typescript 2.5.3将vue js升级到2.5.2。
这是我的索引。ts文件:
import Vue from 'vue'
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
}
})
这是我的tsconfig。json
{
"compilerOptions": {
"outDir": "./wwwroot/build/",
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"lib": [
"dom",
"es5",
"es2015.promise"
],
"types": [
"vue-typescript-import-dts"
],
"experimentalDecorators": true
},
"include": [
"Features/**/*.ts"
],
"exclude": [
"node_modules",
"wwwroot"
]
}
下面是错误消息:
C:\dev\proj\src\proj中出现错误。Web\node\u模块\vue类型脚本导入dts\index。d、 ts(3,36):错误TS2304:找不到名称“Vue”。
我的设置与vue js 2.4配合得很好。
我删除了“allowSyntheticDefaultImports”:如这里所说的true
之前,我们已经建议在任何地方使用ES样式导入(从“Vue”导入Vue),并使用“allowSyntheticDefaultImports”:在Tconfig中为true。json。新的输入将正式转移到ES风格的导入/导出语法,因此不再需要配置,用户需要在所有情况下使用ES风格的导入。
有人看到我错过了什么吗?
我刚刚在VSCode中启动了一个新文件夹,我有几个观察结果。
NPM上的Vue包包含类型信息,因此您不需要为Vue获取其他类型(即不要从NPM获取@types/Vue
)。
"dependencies": {
"vue": "^2.5.2"
}
仅使用vue软件包,而不使用以下部分:
"types": [
"vue-typescript-import-dts"
],
我可以用您的示例代码很好地编译一切。
全部细节。。。
包裹json
{
"name": "sample-vue",
"private": true,
"dependencies": {
"vue": "^2.5.2"
}
}
tsconfig。json
{
"compilerOptions": {
"outDir": "./wwwroot/build/",
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"lib": [
"dom",
"es5",
"es2015.promise"
],
"experimentalDecorators": true
},
"include": [
"*.ts"
],
"exclude": [
"node_modules",
"wwwroot"
]
}
app.ts
import Vue from 'vue'
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
}
})