【发布时间】:2016-09-21 11:53:24
【问题描述】:
我想在浏览器上使用我的自定义模块。例如我有一个 AppConfig.js 模块
'use strict'
var fs, configurationFile;
configurationFile = './configs/appConfig.json';
fs = require('fs');
var AppConfig = function(){
function getMongoDbConnectionString()
{
var configuration = JSON.parse(
fs.readFileSync(configurationFile)
);
var connectionString= configuration.mongodbConnectionString;
return connectionString;
}
function getDistanceCondition()
{
var configuration = JSON.parse(
fs.readFileSync(configurationFile)
);
var distance= configuration.distanceBetweenTwoArmatures;
return distance;
}
return {
getMongoDbConnectionString : getMongoDbConnectionString,
getDistanceCondition:getDistanceCondition
};
}
module.exports = AppConfig;
我想在浏览器上使用这个模块。为此,我安装了 browserify 模块。
npm install -g browserify
然后转到应用目录并运行此命令
browserify -r ./modules/AppConfig.js:AppConfig > ./public/javascripts/bundle.js
然后我在我的 html 文件中添加这一行。
<script src="/javascripts/bundle.js"></script>
现在我想在我的 javascritp 函数中使用这个模块。
var Configuration = require('AppConfig');
var configuration = new Configuration();
var connectionString= configuration.getDistanceCondition();
我调用了 getDistanceCondition() 函数但我出错了:
未捕获(承诺)类型错误:fs.readFileSync 不是函数(…)
我该如何解决这个问题? 你能给我一些信息吗?
【问题讨论】:
-
你认为你可以在浏览器中用那个 mongodb 连接字符串做什么?顺便说一句,您可能不希望所有用户都看到它...
-
我将从这个模块中删除 mongodb 连接字符串,这并不重要。首先我想成功运行这段代码。 . .
标签: javascript node.js npm browserify