Intellij自动导入不适用于Typescript

问题描述

我刚从Vaadin开始创建一个Web应用程序,并且已经在Intellij中加载了一个项目,但是如果我在其中,似乎无法从哪里导入东西一个打字稿文件

enter image description here

应该是

import {css,customElement,html,LitElement} from "lit-element";

但它不起作用。

我需要做什么来配置IDE使其变得简单并找到导入?

编辑

用红色强调的"lit-element"Cannot find module 'lit-element' 为什么,但是?!

解决方法

为了使自动导入正常工作,您需要确保依赖项在本地可用。 Vaadin 使用 npm(或 pnpm 取决于版本)来管理 Javascript 依赖项,例如 LitElement。在您的项目中,您应该找到文件

  • package.json
  • package-lock.json

为了使 LitElement 可用作导入,请确保它列在 package.json 中。如果它不存在,您可以通过在命令行中运行 npm install --save lit-element 将其安装到您的项目中,同时与您的项目 package.json 位于同一文件夹中。 如果该文件在 package.json 中列出,请确保在与该文件相同的目录中有另一个名为 node_modules 的目录。这包含您的 Javascript 依赖项。在 node_modules 中,您应该会看到另一个名为 lit-element 的文件夹。如果不存在,请在与项目相同的目录中从命令行运行 npm install package.json

如果这不能解决您的问题,您可以尝试删除 node_modules 目录并通过运行 npm install 重新下载您的依赖项。 如果这不起作用,请确保该文件夹未在您的 IntelliJ 项目设置中标记为排除。 如果您仍然遇到问题,您可以尝试运行 mvn clea install 然后启动服务器,与 Marcus 所说的相反,Vaadin 会自动执行 npm install 而不是在 mvn clean install (除非是生产版本),而是在服务器启动期间。


在您的问题中,您提到您是 Vaadin 的新手,在这种情况下,我建议您不必直接开始使用基于 LitElement 的组件,尤其是因为您在评论中提到您通常是移动开发人员。很有可能使用基于 Vaadins Java 的组件开发出色的 UI,然后在您对框架/堆栈更加熟悉后迁移到使用 LitElement。

此外,您应该使用 Vaadin 15+(当前最新版本为 18.0.6),以便 Vaadin 为 LitElement 提供一流的支持,这些不是 LTS 版本,只会在初始发布后的 4 个月内收到更新({ {3}}),因此我会谨慎地在生产中使用它们。