我正在尝试将自定义主题与 JHipster(Metronic 主题,如果有关系的话)一起使用。
我遵循了如何添加 css 和 js 的建议https://stackoverflow.com/a/42070788/9026582
但是在运行npm run webpack:build
webpack build 时不会编译。
我遇到了这样的错误(有更多类似于下面的错误,为简单起见仅发布一个):
ERROR in /home/robert/workspace/robo/src/main/webapp/app/content/layout/aside/aside-left.component.ts
(105,76): Cannot find name 'mUtil'.
我做了一些研究,发现可能缺少声明类型文件。在主题中找到它并复制到 JHipster 项目中。该文件如下所示:
/* SystemJS module definition */
declare var module: NodeModule;
interface NodeModule {
id: string;
}
declare var mMenu: any;
declare var mOffcanvas: any;
declare var mScrollTop: any;
declare var mHeader: any;
declare var mToggle: any;
declare var mQuicksearch: any;
declare var mUtil: any;
declare var mPortlet: any;
现在 webpack build 可以编译了,但是在渲染站点的时候出现了问题。
样式工作正常,但脚本未正确加载,在浏览器控制台中我可以看到错误(再次省略类似的错误):
HeaderComponent.html:1 ERROR ReferenceError: mUtil is not defined
at HeaderDirective.ngAfterViewInit (header.directive.ts?6754:56)
at callProviderLifecycles (core.js?09c9:9568)
at callElementProvidersLifecycles (core.js?09c9:9542)
at callLifecycleHooksChildrenFirst (core.js?09c9:9532)
at checkAndUpdateView (core.js?09c9:10468)
at callViewAction (core.js?09c9:10700)
at execComponentViewsAction (core.js?09c9:10642)
at checkAndUpdateView (core.js?09c9:10465)
at callViewAction (core.js?09c9:10700)
at execEmbeddedViewsAction (core.js?09c9:10663)
mUtil
主题文件中有出现scripts.bundle.js
,但我将该文件导入 JHipster 的vendors.ts
.
我已经检查了 webpack 构建给了我什么。在里面main.bundle.js
我发现mUtil
了它,所以它应该在渲染站点时加载。
我正在寻求任何帮助,因为我不知道如何让它发挥作用。