Java Vaadin Spring引导找不到npm包
我有一个现有的Spring Boot应用程序,我希望在其中添加一个Vaadin前端 我有一个简单的视图类,如下所示:Java Vaadin Spring引导找不到npm包,java,spring-boot,npm,vaadin,Java,Spring Boot,Npm,Vaadin,我有一个现有的Spring Boot应用程序,我希望在其中添加一个Vaadin前端 我有一个简单的视图类,如下所示: @Route(value = "admin") public class MainView extends VerticalLayout { private TextField field = new TextField("Message"); private Button button = new Button("Click Me"); @PostC
@Route(value = "admin")
public class MainView extends VerticalLayout {
private TextField field = new TextField("Message");
private Button button = new Button("Click Me");
@PostConstruct
public void init() {
button.addClickListener(e -> Notification.show("Message: " + field.getValue()));
}
}
我已通过将.anyRequsts().permitAll()
添加到我的SecurityConfig
当我运行应用程序并在Chrome中导航到/admin
时,我会在页面的预期位置显示以下错误:
Webpack Error
ERROR in ../target/frontend/generated-flow-imports.js
Module not found: Error: Can't resolve '@vaadin/vaadin-button/src/vaadin-button.js' in 'C:\Users\cameron\IdeaProjects\biometric-access\target\frontend'
@ ../target/frontend/generated-flow-imports.js 11:0-52
对于不同的包,这会重复几次。我在Spring控制台输出中也得到了类似的错误。它还提供一条消息,告诉我删除node\u模块
,然后运行npm安装
,我已经尝试过了
Vaadin文档没有提到这个问题,建议的步骤也不起作用
令人恼火的是,它以前工作正常,我不知道是什么变化使它停止工作。如有任何建议,将不胜感激
编辑
经过一番搜索,我意识到这可能是npm问题,而不是瓦丁问题。npm“常见问题”页面建议运行
npm clean
,然后运行npm install
,以解决此错误。这解决了我的问题。从Vaadin 14.0.0更新到14.0.2后,我也遇到了同样的问题。
删除节点\u模块
文件夹并运行准备前端
目标是不够的
在打包项目之前删除以下文件和文件夹:
- 节点单元
- package-lock.json
- package.json
- webpack.config.js
- webpack.generated.js
在更新pom.xml中的vaadin版本后,最好有一个“干净”的目标来自动完成这项工作您是否事先运行了
prepare frontend
目标?试过了,但运气不好,找到了一个对我有效的解决方案,所以我会发布它是的,最后npm clean为我做了。如果maven clean目标中包含了这一点,那就太好了。@cameron1024如果您找到了一种不同或更好的方法来解决您的问题,请将其添加为您自己的答案。