我尝试使用typescript 2.5.3将vue js升级到2.5.2。
这是我的index.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的\凸出的\ src \ Proj.Web \ node_modules \ VUE-打字稿进口-DTS \ index.d.ts (3,36):错误TS2304:找不到姓名' Vue'。
我的设置与vue js 2.4一起正常工作。
我删除" allowSyntheticDefaultImports":true, as said here
以前,我们已经建议使用ES样式的导入(导入Vue 来自'vue')到处都是“allowSyntheticDefaultImports”:真实的 tsconfig.json。新的类型将正式转向ES风格 导入/导出语法,以便不再需要配置和用户 在所有情况下都需要使用ES风格的导入。
任何人都能看到我失踪的东西?
答案 0 :(得分:2)
我刚刚在VSCode中启动了一个新文件夹,我有几点意见。
NPM上的Vue包中包含类型信息,因此您不需要为Vue获取其他类型(即不从NPM获取@types/vue
)
"dependencies": {
"vue": "^2.5.2"
}
只使用vue包,没有以下部分:
"types": [
"vue-typescript-import-dts"
],
我可以使用您的示例代码编译所有内容。
详情......
的package.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!'
}
})