首页 > 解决方案 > TypeScript、Vue 和实验性装饰器

问题描述

我已经通过 Vue-CLI v3.0.0-beta.15 创建了一个 Vue 项目,现在,一切正常,我的意思是,当我npm run serve编译并运行良好但 TypeScript仅在编辑器内抛出以下错误消息!

Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning.

我尝试过但没有用的东西:

  1. 我仔细检查了我的文件中的 Vue 默认情况下experimentalDecorators是否设置为 true 。tsconfig.json

  2. 我尝试jsconfig.json使用以下选项创建文件:

    {
        "compilerOptions": {
            "experimentalDecorators": true
        }
    }
    
  3. 我尝试在 VSCode 中更改以下选项"javascript.implicitProjectConfig.experimentalDecorators": true

现在,我正在使用带有 VSCode 的 Vetur 扩展,我已经在他们的 repo 上发布了一个问题,但是我没有使用 Visual Studio for Vue 的任何扩展,但是我得到了同样的错误,所以我不知道是什么触发了它但是我认为有些东西不会选择tsconfig.json文件。

以下是我为生成项目所采取的步骤:

  1. mkdir 实验 && cd $_
  2. npm 初始化
  3. npm 安装 -D@vue/cli
  4. ./node_modules/.bin/vue 创建仪表板
  5. 我使用了以下选项:

    • 检查项目所需的功能:Babel、TS、PWA、Router、Vuex、CSS Pre-processors、Linter、Unit、E2E
    • 使用类风格的组件语法?是的
    • 使用 Babel 和 TypeScript 来自动检测 polyfill?是的
    • 选择一个 CSS 预处理器(默认支持 PostCSS、Autoprefixer 和 CSS 模块):SCSS/SASS
    • 选择一个 linter/formatter 配置:TSLint
    • 选择其他 lint 功能:保存时使用 Lint
    • 选择一个单元测试解决方案:Mocha
    • 选择 E2E 测试解决方案:Cypress
    • 你更喜欢在哪里放置 Babel、PostCSS、ESLint 等的配置?在专用配置文件中
    • 将此保存为未来项目的预设?不
  6. 然后导航到dashboard/src/views/Home.vue

这就是它在Visual Studio中的样子:

在此处输入图像描述

这就是它在VSCode中的样子:

在此处输入图像描述

标签: typescriptvue.jsvisual-studio-codevetur

解决方案


你看过这个帖子吗?

也许您应该尝试:转到 File => Preferences => Settings(或 Control+comma),它将打开 User Settings 文件。添加“javascript.implicitProjectConfig.experimentalDecorators”:true

编辑 :

好的,所以在您的第一个示例中,您已经在experiment目录中打开了项目,但是 tsconfig.json 位于子目录中,tsconfig 必须位于根目录中。尝试使用dashboardvscode 项目的根文件夹打开 vscode 并重新启动编辑器。


推荐阅读