JavaScript npm安装Heroku,引用错误未定义

JavaScript npm安装Heroku,引用错误未定义,javascript,node.js,heroku,npm,Javascript,Node.js,Heroku,Npm,document.getElementById(“HC”).innerHTML=String(hammingCode.encode(“11”)); console.log(“encode1111:”,hammingCode.Encode(“1111”)您的代码示例有点糟糕,我猜您使用的是网页加载的javascript(基于“document.getElementById…”) 确保你在html中加载脚本,我建议你在标签中加载,确保在js之前加载库,除非你使用像webpack这样的捆绑工具,否则我

document.getElementById(“HC”).innerHTML=String(hammingCode.encode(“11”));

console.log(“encode1111:”,hammingCode.Encode(“1111”)您的代码示例有点糟糕,我猜您使用的是网页加载的javascript(基于“document.getElementById…”)

确保你在html中加载脚本,我建议你在标签中加载,确保在js之前加载库,除非你使用像webpack这样的捆绑工具,否则我怀疑使用require会起作用


希望它有帮助,如果没有,请给我们更多信息来帮助您。

您的代码示例有点糟糕,我猜您使用的是网页加载的javascript(基于“document.getElementById…”)

确保你在html中加载脚本,我建议你在标签中加载,确保在js之前加载库,除非你使用像webpack这样的捆绑工具,否则我怀疑使用require会起作用


希望它有帮助,如果没有,请给我们更多信息来帮助您。

您的文件在客户端,没有对象
汉明码
是否尝试添加到html中:

<script src="https://cdn.rawgit.com/georgelviv/hamming-code/master/index.js"></script>


我的建议是下载到您的服务器,并将其从html中包含在客户端的文件中,不要使用object
hammingCode
是否尝试添加到html中:

<script src="https://cdn.rawgit.com/georgelviv/hamming-code/master/index.js"></script>


我的建议是下载到您的服务器,并从html中包含它。您需要在html文件中包含汉明码脚本。例如,检查下面的示例

/**
*汉明编码——用汉明算法对二进制字符串输入进行编码
*@param{String}输入-二进制字符串'10101'
*@返回{String}编码的二进制字符串
*/
函数编码(输入){
if(输入类型!='string'| | input.match(/[^10]/){
return console.error('hamming-code error:输入应该是二进制字符串,例如“101010”);
}
var输出=输入;
var-controlBitsIndex=[];
变量控制位=[];
var l=输入长度;
var i=1;
var键,j,arr,温度,检查;
而(l/i>=1){
控制位索引推送(i);
i*=2;
}
对于(j=0;j=1){
控制位索引按下(键*2);
}
}
返回输出;
}
/**
*hammingPureDecode-仅从输入奇偶校验位中删除
*@param{String}输入-二进制字符串'10101'
*@返回{String}-已解码的二进制字符串
*/
函数hammingPureDecode(输入){
if(输入类型!='string'| | input.match(/[^10]/){
return console.error('hamming-code error:输入应该是二进制字符串,例如“101010”);
}
var-controlBitsIndex=[];
var l=输入长度;
var originCode=输入;
var hasError=false;
var输入固定,i;
i=1;
而(l/i>=1){
控制位索引推送(i);
i*=2;
}
forEach(函数(键、索引){
originCode=originCode.substring(0,key-1-index)+originCode.substring(key-index);
});
返回原代码;
}
/**
*汉明解码-解码编码的二进制字符串,也尝试纠正错误
*@param{String}输入-二进制字符串'10101'
*@返回{String}-已解码的二进制字符串
*/
汉明解码功能(输入){
if(输入类型!='string'| | input.match(/[^10]/){
return console.error('hamming-code error:输入应该是二进制字符串,例如“101010”);
}
var-controlBitsIndex=[];
var总和=0;
var l=输入长度;
var i=1;
var输出=hammingPureDecode(输入);
var inputFixed=哈明根代码(输出);
而(l/i>=1){
控制位索引推送(i);
i*=2;
}
ControlBitsIndex.forEach(函数(i){
if(输入[i]!==输入固定[i]){
总和+=i;
}
});
若有(总和){
输出[总和-1]=“1”
?输出=replaceCharacterAt(输出,和-1,'0')
:output=replaceCharacterAt(输出,和-1,'1');
}
返回输出;
}
/**
*hammingCheck-检查编码的二进制字符串是否有错误,如果包含错误,则返回true
*@param{String}输入-二进制字符串'10101'
*@returns{Boolean}-hasError
*/
函数hammingCheck(输入){
if(输入类型!='string'| | input.match(/[^10]/){
return console.error('hamming-code error:输入应该是二进制字符串,例如“101010”);
}
var inputFixed=哈明根编码(哈明根解码(输入));
return hasError=!(inputFixed==输入);
}
/**
*replaceCharacterAt-在索引处替换字符
*@param{String}str-String
*@param{Number}索引-索引
*@param{String}字符-字符
*@返回{String}-String
*/
函数replaceCharacterAt(str、index、character){
返回str.substr(0,索引)+character+str.substr(索引+character.length);
}
/**
*块-将数组拆分为块
*@param{Array}arr-Array
*@param{Number}size-块大小
*@returns{Array}-分块数组
*/
功能块(arr、大小){
var chunks=[],
i=0,
n=阵列长度;
而(i