1

NodeJS を使用してファイルから次の JavaScript オブジェクトを読み込もうとしているときに問題が発生しました。

{
    queries:{
            user:"SELECT * FROM users WHERE $1 = ?"
    },
    user:function(identifier){
            return this.queries.user.replace('$1', "user_"+identifier);
    }
}

require 関数を使用すると、次のようになります。

var queries = require('./components/queries');

4 行目で予期しない ',' という解析エラーが発生します。クエリが中かっこで終わる直後です。

Chrome コンソールで問題なく宣言できるため、このオブジェクトの何が問題なのかわかりません。この問題は、このコードをメイン スクリプトに含める方法に関連していると思われます。しかし、それを適切に含める方法がわかりません。

ご協力いただきありがとうございます !

4

2 に答える 2

1

commonJS では、exportsオブジェクトを使用してモジュール変数へのアクセスを設定する必要があります。

exports.queries = {
    queries:{
        user:"SELECT * FROM users WHERE $1 = ?"
    },
    user:function(identifier){
        return this.queries.user.replace('$1', "user_"+identifier);
    }
}

そして、次のように追加します。

var q_mod = require('./components/queries');
var queries = q_mod.queries;

//logs "SELECT * FROM users WHERE $1 = ?"
console.log(queries.queries.user);
于 2013-09-13T11:06:47.007 に答える
-1

やりたいことを行うには、次の 3 つの方法があります。

  1. ファイルの拡張子を.json

  2. コンテンツを node.js モジュールとしてエクスポートします。

    module.exports = /* the object */
    
  3. json ファイルとして読み取り、解析します。

    fs.readFile('path/to/file', function (content) {
        var queries = JSON.parse(content.toString());
    });
    
于 2013-09-13T11:04:46.500 に答える