无法获得libphonenumber npm包工作,fs.readFileSync不是函数错误

时间:2016-03-07 11:57:04

标签: javascript node.js npm browserify libphonenumber

我尝试使用googlei18n libphonenumber library进行电话号码验证。我通过[TestClass] public class UnitTest1 { [TestMethod] public void UniqueObjectTest() { var provider = new RemoteUniqueIdsProvider(); var factory = new UniqueObjectsFactory<MyObjects>(provider); var entity = factory.GetNewEntity(); var entity2 = factory.GetNewEntity(); Assert.AreNotEqual(entity.UniqueId, entity2.UniqueId); } } 使用npm包,但是当我这样做时:

npm i libphonenumber

我收到错误var libphonenumber = require('libphonenumber')

即使我将Uncaught TypeError: fs.readFileSync is not a function添加为dep并在browserify-fs之前需要它,我仍然会收到错误。我一直在谷歌上搜索,无法弄清楚这个错误甚至意味着什么,实际上,除了它是某种目录功能。不应该libphonenumber是脚本,而不是文件目录吗?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

您安装的模块明确是Google代码到节点的端口,而不是浏览器的端口。如果您想在浏览器中使用它,请不要从npm安装它,而是直接从Google的存储库下载它。如果你想在浏览器中使用它,请看一下browserify-shim,它允许你捆绑那些不使用CommonJS模块的库。

另见https://github.com/mattbornski/libphonenumber/issues/17