【问题标题】:html-Loader is not working with Webpack 5 + AngularJs (appropriate loader)html-Loader 不适用于 Webpack 5 + AngularJs(适当的加载器)
【发布时间】:2021-08-04 15:05:06
【问题描述】:

我正在尝试使用 html-loader + webpack 5 加载 AngularJs 应用程序模板(html)。许多人抛弃了模板缓存,偏向于 html-loader。但就我而言,我真的无法让它发挥作用。

我什至也尝试过 raw-loader、angularjs-template-loader 和 ngtemplate-loader。但是 webpack 总是抱怨 loader。

错误: “模块解析失败:意外令牌 (1:0) 您可能需要适当的加载程序来处理此文件类型,目前没有配置加载程序来处理此文件。见https://webpack.js.org/concepts#loaders"

  > <div class="panel">
  |     <div class="panelContent gridContainer">
  |         <div class="dataGridHeader">

这是我的 weback.config.js:

module:{
  rules: [
           {
                test: /\.html$i/,
                loader: 'html-loader',
                // use: [
                //     // {
                //     //     loader: "ngtemplate-loader",
                //     //     options: {
                //     //         relativeTo: "src/",
                //     //     },
                //     // },

                //     // "ngtemplate-loader",
                //     // "raw-loader",
                //     {
                //         loader: "html-loader",
                //         options: {
                //             minimize: true,
                //         },
                //     },
                // ],
         },
  ]
}

指令

const directive = {
        restrict: "E",
        template: require("ROOT/app/views/templates/dataGrid.html"),
        controller: dataGridController,
        controllerAs: "vm",
        bindToController: true
  }
 return directive;

我在上面的 webpack 配置文件中尝试了注释选项,但都导致相同的错误。

我的 package.json:

Portion of devDependencies:

"devDependencies": {
    "@babel/cli": "^7.0.0",
    "@babel/core": "^7.11.1",
    "@babel/plugin-syntax-dynamic-import": "^7.8.3",
    "@babel/preset-env": "^7.11.0",
    "angularjs-template-loader": "^0.1.2",
    "babel-loader": "^8.0.0",
    "html-loader": "^2.1.2",
    "ngtemplate-loader": "^2.1.0",
    "raw-loader": "^4.0.2",
    "speed-measure-webpack-plugin": "^1.5.0",
    "webpack": "^5.36.2",
    "webpack-cli": "^4.7.0",
    "webpack-dev-server": "^3.11.2",
    "webpack-merge": "^5.7.3"
  }

有人遇到这个问题吗?

【问题讨论】:

    标签: angularjs webpack-5 raw-loader


    【解决方案1】:

    我们能够通过将 import * as templateName from './template.html' 等所有导入替换为 import templateName from './template.html 来解决此问题。希望这会对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2022-07-02
      • 2018-05-19
      • 2017-06-20
      • 1970-01-01
      • 2018-07-22
      • 2018-04-08
      • 2018-05-24
      • 2017-09-28
      • 2021-11-14
      相关资源
      最近更新 更多