Javascript Node.js:bmfont2json不是函数吗?
我知道这个问题已经被问了无数次了,但我找不到我的问题所在。代码如下:Javascript Node.js:bmfont2json不是函数吗?,javascript,node.js,Javascript,Node.js,我知道这个问题已经被问了无数次了,但我找不到我的问题所在。代码如下: var fs = require('fs'); var bmfont2json = require('bmfont2json'); var data = fs.readFileSync('Bitmap Font' + '/Roboto.fnt'); var obj = bmfont2json(data); var json = JSON.stringify( obj ); 这导致错误bmfont2json不是函数。有人知
var fs = require('fs');
var bmfont2json = require('bmfont2json');
var data = fs.readFileSync('Bitmap Font' + '/Roboto.fnt');
var obj = bmfont2json(data);
var json = JSON.stringify( obj );
这导致错误
bmfont2json
不是函数。有人知道上面的错误吗?谢谢。尝试导入bmfont2json
如下
var bmfont2json = require('bmfont2json');
尝试导入
bmfont2json
,如下所示
var bmfont2json = require('bmfont2json');
我认为您编写的require语句是错误的
var bmfont2json=require('bmfont2json.js')代码>
正确的方法是不要像下面这样包含.jsvar bmfont2json=require('bmfont2json')代码>我认为您编写的require语句是错误的var bmfont2json=require('bmfont2json.js')代码>
正确的方法是不要像下面这样包含.jsvar bmfont2json=require('bmfont2json')代码>
因为我相信您正在使用bmfont2json npm
有关更多信息,请参阅:
因为我相信您正在使用bmfont2json npm
有关更多信息,请参阅:
正如Bulkan和Maynank已经提到的,您不应该在NPM核心模块名称的末尾包含.js
:
var bmfont2json = require('bmfont2json');
然而,你真正做错的是:
var obj = bmfont2json(data);
var fs = require('fs');
var bmfont2json = require('bmfont2json');
var data = fs.readFileSync(__dirname+'/Bitmap Font' + '/Roboto.fnt');
var obj = bmfont2json(data);
var json = JSON.stringify( obj );
console.log(json);
info face="Arial" size=32 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=0
common lineHeight=32 base=26 scaleW=256 scaleH=256 pages=0 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0
chars count=0
{ "pages":[],
"chars":[],
"kernings":[],
"info":"face":"Arial",
"size":32,
"bold":0,
"italic":0,
"charset":"",
"unicode":1,
"stretchH":100,
"smooth":1,
"aa":1,
"padding":[0,0,0,0],
"spacing":[1,1],
"outline":0},
"common":{
"lineHeight":32,
"base":26,
"scaleW":256,
"scaleH":256,
"pages":0,
"packed":0,
"alphaChnl":1,
"redChnl":0,
"greenChnl":0,
"blueChnl":0
}
}
由于此函数来自bmfont2json
模块,因此正确的代码如下所示:
var obj = bmfont2json.bmfont2json(data);
var fs = require('fs');
var bmfont2json = require('bmfont2json.js');
var data = fs.readFileSync('Bitmap Font' + '/Roboto.fnt');
var obj = bmfont2json(data);
var json = JSON.stingify( obj );
注意,这样做的方式与var data=fs.readFileSync(诸如此类)相同代码>。由于readFileSync()
是fs
模块中的一个函数,因此您使用了fs.readFileSync()
而不仅仅是readFileSync()
。这就是如何使用Node.js中任何模块的函数
因此,正确的代码如下所示:
var obj = bmfont2json.bmfont2json(data);
var fs = require('fs');
var bmfont2json = require('bmfont2json.js');
var data = fs.readFileSync('Bitmap Font' + '/Roboto.fnt');
var obj = bmfont2json(data);
var json = JSON.stingify( obj );
正如Bulkan和Maynank已经提到的,您不应该在NPM核心模块名称的末尾包含.js
:
var bmfont2json = require('bmfont2json');
然而,你真正做错的是:
var obj = bmfont2json(data);
var fs = require('fs');
var bmfont2json = require('bmfont2json');
var data = fs.readFileSync(__dirname+'/Bitmap Font' + '/Roboto.fnt');
var obj = bmfont2json(data);
var json = JSON.stringify( obj );
console.log(json);
info face="Arial" size=32 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=0
common lineHeight=32 base=26 scaleW=256 scaleH=256 pages=0 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0
chars count=0
{ "pages":[],
"chars":[],
"kernings":[],
"info":"face":"Arial",
"size":32,
"bold":0,
"italic":0,
"charset":"",
"unicode":1,
"stretchH":100,
"smooth":1,
"aa":1,
"padding":[0,0,0,0],
"spacing":[1,1],
"outline":0},
"common":{
"lineHeight":32,
"base":26,
"scaleW":256,
"scaleH":256,
"pages":0,
"packed":0,
"alphaChnl":1,
"redChnl":0,
"greenChnl":0,
"blueChnl":0
}
}
由于此函数来自bmfont2json
模块,因此正确的代码如下所示:
var obj = bmfont2json.bmfont2json(data);
var fs = require('fs');
var bmfont2json = require('bmfont2json.js');
var data = fs.readFileSync('Bitmap Font' + '/Roboto.fnt');
var obj = bmfont2json(data);
var json = JSON.stingify( obj );
注意,这样做的方式与var data=fs.readFileSync(诸如此类)相同代码>。由于readFileSync()
是fs
模块中的一个函数,因此您使用了fs.readFileSync()
而不仅仅是readFileSync()
。这就是如何使用Node.js中任何模块的函数
因此,正确的代码如下所示:
var obj = bmfont2json.bmfont2json(data);
var fs = require('fs');
var bmfont2json = require('bmfont2json.js');
var data = fs.readFileSync('Bitmap Font' + '/Roboto.fnt');
var obj = bmfont2json(data);
var json = JSON.stingify( obj );
我在我的机器上尝试了您的代码,我在代码中做了一些更改(var data=fs.readFileSync(uu dirname++'/Bitmap Font'+'/Roboto.fnt');
)
请尝试以下代码:
var obj = bmfont2json(data);
var fs = require('fs');
var bmfont2json = require('bmfont2json');
var data = fs.readFileSync(__dirname+'/Bitmap Font' + '/Roboto.fnt');
var obj = bmfont2json(data);
var json = JSON.stringify( obj );
console.log(json);
info face="Arial" size=32 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=0
common lineHeight=32 base=26 scaleW=256 scaleH=256 pages=0 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0
chars count=0
{ "pages":[],
"chars":[],
"kernings":[],
"info":"face":"Arial",
"size":32,
"bold":0,
"italic":0,
"charset":"",
"unicode":1,
"stretchH":100,
"smooth":1,
"aa":1,
"padding":[0,0,0,0],
"spacing":[1,1],
"outline":0},
"common":{
"lineHeight":32,
"base":26,
"scaleW":256,
"scaleH":256,
"pages":0,
"packed":0,
"alphaChnl":1,
"redChnl":0,
"greenChnl":0,
"blueChnl":0
}
}
示例。fnt:
var obj = bmfont2json(data);
var fs = require('fs');
var bmfont2json = require('bmfont2json');
var data = fs.readFileSync(__dirname+'/Bitmap Font' + '/Roboto.fnt');
var obj = bmfont2json(data);
var json = JSON.stringify( obj );
console.log(json);
info face="Arial" size=32 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=0
common lineHeight=32 base=26 scaleW=256 scaleH=256 pages=0 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0
chars count=0
{ "pages":[],
"chars":[],
"kernings":[],
"info":"face":"Arial",
"size":32,
"bold":0,
"italic":0,
"charset":"",
"unicode":1,
"stretchH":100,
"smooth":1,
"aa":1,
"padding":[0,0,0,0],
"spacing":[1,1],
"outline":0},
"common":{
"lineHeight":32,
"base":26,
"scaleW":256,
"scaleH":256,
"pages":0,
"packed":0,
"alphaChnl":1,
"redChnl":0,
"greenChnl":0,
"blueChnl":0
}
}
用示例替换.fnt文件时,输出为:
var obj = bmfont2json(data);
var fs = require('fs');
var bmfont2json = require('bmfont2json');
var data = fs.readFileSync(__dirname+'/Bitmap Font' + '/Roboto.fnt');
var obj = bmfont2json(data);
var json = JSON.stringify( obj );
console.log(json);
info face="Arial" size=32 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=0
common lineHeight=32 base=26 scaleW=256 scaleH=256 pages=0 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0
chars count=0
{ "pages":[],
"chars":[],
"kernings":[],
"info":"face":"Arial",
"size":32,
"bold":0,
"italic":0,
"charset":"",
"unicode":1,
"stretchH":100,
"smooth":1,
"aa":1,
"padding":[0,0,0,0],
"spacing":[1,1],
"outline":0},
"common":{
"lineHeight":32,
"base":26,
"scaleW":256,
"scaleH":256,
"pages":0,
"packed":0,
"alphaChnl":1,
"redChnl":0,
"greenChnl":0,
"blueChnl":0
}
}
请尝试上面的代码,然后让我知道。我在我的机器上尝试了您的代码,我对您的代码做了一些更改(var data=fs.readFileSync(u dirname+'/Bitmap Font'+'/Roboto.fnt');
)
请尝试以下代码:
var obj = bmfont2json(data);
var fs = require('fs');
var bmfont2json = require('bmfont2json');
var data = fs.readFileSync(__dirname+'/Bitmap Font' + '/Roboto.fnt');
var obj = bmfont2json(data);
var json = JSON.stringify( obj );
console.log(json);
info face="Arial" size=32 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=0
common lineHeight=32 base=26 scaleW=256 scaleH=256 pages=0 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0
chars count=0
{ "pages":[],
"chars":[],
"kernings":[],
"info":"face":"Arial",
"size":32,
"bold":0,
"italic":0,
"charset":"",
"unicode":1,
"stretchH":100,
"smooth":1,
"aa":1,
"padding":[0,0,0,0],
"spacing":[1,1],
"outline":0},
"common":{
"lineHeight":32,
"base":26,
"scaleW":256,
"scaleH":256,
"pages":0,
"packed":0,
"alphaChnl":1,
"redChnl":0,
"greenChnl":0,
"blueChnl":0
}
}
示例。fnt:
var obj = bmfont2json(data);
var fs = require('fs');
var bmfont2json = require('bmfont2json');
var data = fs.readFileSync(__dirname+'/Bitmap Font' + '/Roboto.fnt');
var obj = bmfont2json(data);
var json = JSON.stringify( obj );
console.log(json);
info face="Arial" size=32 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=0
common lineHeight=32 base=26 scaleW=256 scaleH=256 pages=0 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0
chars count=0
{ "pages":[],
"chars":[],
"kernings":[],
"info":"face":"Arial",
"size":32,
"bold":0,
"italic":0,
"charset":"",
"unicode":1,
"stretchH":100,
"smooth":1,
"aa":1,
"padding":[0,0,0,0],
"spacing":[1,1],
"outline":0},
"common":{
"lineHeight":32,
"base":26,
"scaleW":256,
"scaleH":256,
"pages":0,
"packed":0,
"alphaChnl":1,
"redChnl":0,
"greenChnl":0,
"blueChnl":0
}
}
用示例替换.fnt文件时,输出为:
var obj = bmfont2json(data);
var fs = require('fs');
var bmfont2json = require('bmfont2json');
var data = fs.readFileSync(__dirname+'/Bitmap Font' + '/Roboto.fnt');
var obj = bmfont2json(data);
var json = JSON.stringify( obj );
console.log(json);
info face="Arial" size=32 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=0
common lineHeight=32 base=26 scaleW=256 scaleH=256 pages=0 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0
chars count=0
{ "pages":[],
"chars":[],
"kernings":[],
"info":"face":"Arial",
"size":32,
"bold":0,
"italic":0,
"charset":"",
"unicode":1,
"stretchH":100,
"smooth":1,
"aa":1,
"padding":[0,0,0,0],
"spacing":[1,1],
"outline":0},
"common":{
"lineHeight":32,
"base":26,
"scaleW":256,
"scaleH":256,
"pages":0,
"packed":0,
"alphaChnl":1,
"redChnl":0,
"greenChnl":0,
"blueChnl":0
}
}
请尝试上面的代码,然后告诉我。您是否先运行命令安装程序包:npm install bmfont2json-gYes我先这么做了。您是否先运行命令安装程序包:npm install bmfont2json-gYes我先这么做了。非常感谢,但现在错误变成了bmfont2json。bmfont2json
不是函数。@LordGoderick我只是意识到bmfont2json
包最近一次更新是在两年多前,本月只下载了35次。作者可能已经放弃了这个项目,我强烈建议您不要使用它是的,我正在用另一个非常感谢,但是现在错误变成了bmfont2json。bmfont2json
不是一个函数。@LordGoderick我刚刚意识到bmfont2json
包最近一次更新是在两年多前,这个月只下载了35次。作者可能已经放弃了这个项目,我强烈建议您不要使用它是的,我正在用另一个如果上述代码不起作用,请使用example.fnt更改Robot.fnt文件。我已经编写了example.fnt文件。仍然是相同的错误,不确定发生了什么。我会继续找的。哦,在我的机器里工作得很好。好的,让我再看看。好的,谢谢,让我再看看。我肯定我做错了什么。您使用了什么节点命令来输出文件?我相信这就是我出错的地方。如果上面的代码不起作用,请用example.fnt更改Robot.fnt文件。我已经编写了example.fnt文件。仍然是相同的错误,不确定发生了什么。我会继续找的。哦,在我的机器里工作得很好。好的,让我再看看。好的,谢谢,让我再看看。我肯定我做错了什么。您使用了什么节点命令来输出文件?我相信这就是我错的地方。