2

我正在尝试将自定义主题与 JHipster(Metronic 主题,如果有关系的话)一起使用。
我遵循了如何添加 css 和 js 的建议https://stackoverflow.com/a/42070788/9026582

但是在运行npm run webpack:buildwebpack 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了它,所以它应该在渲染站点时加载。

我正在寻求任何帮助,因为我不知道如何让它发挥作用。

4

0 回答 0