当前位置: 首页 > 知识库问答 >
问题:

Vue js 2.5.2

卫成和
2023-03-14

我正在尝试用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风格的导入。

有人看到我错过了什么吗?

共有1个答案

白浩气
2023-03-14

我刚刚在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!'
    }
})
 类似资料:

相关问答

相关文章

相关阅读