安装和引入了hogan包,但是'hogan'还是 报错

发布于 2022-09-05 10:33:30 字数 2979 浏览 7 评论 0

ERROR in ./src/util/ma.js
Module not found: Error: Cannot resolve module 'hogan' in /Users/Macx/Documents/mall/mall-fe/src/util
@ ./src/util/ma.js 9:12-28

图片描述

图片描述

ma.js模块

'use strict';
//这里导入了hogan包
**var Hogan = require('hogan');**
var conf = {
    serverHost: ''
};
var _ma = {
    request: function(param){
        var _this = this;
        $.ajax({
            type : param.method || 'get',
            url: param.url || '',
            dataType: param.type || 'json',
            data: param.data || '',
            success: function(res){
                //请求成功
                if(0 === res.status){
                    typeof param.success === 'function' && param.success(res.data, res.msg);
                }
                //没有登录状态,需要登录
                else if(10 === res.status){
                    _this.doLogin();
                }
                //请求数据错误
                else if(1 === res.status){
                    typeof param.error === 'function' && param.error(res.msg);
                }
            },
            error: function(err){
                typeof param.error === 'function' && param.error(err.statusText);
            }
        });
    },
    //获取服务器地址
    getServerUrl: function(path){
        return conf.serverHost + path;
    },
    //获取url参数
    getUrlParam: function(name){
        var reg = new RegExp('(^|&)'+ name + '=([^&]*)(&|$)');
        var result = window.location.search.substr(1).match(reg);
        return result ? decodeURIComponent(result[2]) : null; 
    },
    //渲染html模板
    renderHtml: function(htmlTemplate, data){
    //这里调用了hogan的方法
        var template = Hogan.compile(htmlTemplate),
            result = template.render(data);
        return result;
    },
    doLogin : function(){
        window.location.href = './login.html?redirect=' + encodeURIComponent(window.location.href);
    }
};

module.exports = _ma;

引用ma.js模块的index.js文件

'use strict';

var _ma = require('util/ma.js');

var html = '<div>{{data}}</div>';
var data = {
    data: 123
}
console.log(_ma.renderHtml(html, data));

package.json

"devDependencies": {
    "css-loader": "^0.28.4",
    "extract-text-webpack-plugin": "^1.0.1",
    "file-loader": "^0.11.2",
    "html-loader": "^0.4.5",
    "html-webpack-plugin": "^2.29.0",
    "style-loader": "^0.18.2",
    "url-loader": "^0.5.9",
    "webpack": "^1.15.0",
    "webpack-dev-server": "^1.16.5"
  },
  "dependencies": {
    "hogan": "^1.0.2"
  }

我这里安装了hogan包,并且在ma.js引入了hogan,最后在index.js中调用hogan的时候提示'cannot not find hogan',并且ma.js文件里也报错’cannot resolve module hogan'?

这是怎么回事?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

家住魔仙堡 2022-09-12 10:33:30

自己已经决。
hogan新版本的引入方式:
var Hagon = require('hagon.js');

具体参见官方文档

山川志 2022-09-12 10:33:30

您好~

这个问题我已经解决.
问题是hogan安装时出现的问题.
Q:我最初使用的是下面的代码安装,然后打包时候就出现了问题
npm install hogan
A:解决方案
1.卸载hogan, npm uninstall hogan
2.执行代码     npm install hogan --save
问题解决 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文