簡體   English   中英

節點js browserify實現

[英]node js browserify implementation

我想在瀏覽器上使用我的自定義模塊。 例如我有一個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()函數,但是ı報錯:

未捕獲(承諾)TypeError:fs.​​readFileSync不是函數(…)

我該如何解決這個問題? 你能給我一些信息嗎?

fs不能被瀏覽。 但是,由於您的配置文件是JSON,並且僅使用fs讀取該文件,因此可以使用require()替換它:

var configuration = require(configurationFile);

利用附加優勢,Browserify會將您的配置文件添加到捆綁軟件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM