2016-03-31 8 views
0
benötigen

ich in JavaScript-Modul, wie eine Zeichenfolge/Objekt in einem passieren

module1.js

var currency = 'dollar' 
    module = require('./module2')(currency) 

einen String übergeben möchte Wie kann ich tun, dass gerade jetzt, weil ich diesen Fehler

TypeError: string is not a function e=[TypeError:string is not a function]

Dank Sie alle

Antwort

1
var currency = 'dollar' 
module = require('./module2').yourFunction(currency); 
+0

Hängt davon ab, was belichtet wird .. Ist es nicht? Was ist, wenn 'module.exports = Funktionsausdruck;'? – Rayon

+0

Schau dir seinen Fehler an – JordanHendrix

+0

Ich frage Dinge mate..Just meine Annahmen richtig zu bekommen! Meine Vermutung ist 'require ('./ module2')' gibt eine 'string' zurück, die' object' .. – Rayon

0

Ich glaube, Sie haben Funktion innerhalb Modul zu bauen und es als nennen, nachdem es erfordern, ist es bessere Lösung für Ihr Problem change.js

module.exports = { 
    escape: function(html) { 
    return String(html) 
     .replace(/&/g, '&') 
     .replace(/"/g, '"') 
     .replace(/'/g, ''') 
     .replace(/</g, '&lt;') 
     .replace(/>/g, '&gt;'); 
    } 

nennen es auf diese Weise

var change= require("change"); 
change.escape(yourElement); 
+0

Sieht aus wie viel Code für einen einfachen Fehler – radjiv

0

Wenn Sie Währung passieren als Parameter an eine Funktion in module2 Verwendung:

modul = require ('./ modul2'). Funktionsname (Währung);

Wenn Sie eine Eigenschaft mit Namen Währung zugreifen möchten ('Dollar' Eigenschaft in diesem Fall) in module2 Verwendung:

Modul = require (‘./ module2') [Währung];

+0

Ehrfürchtig, ich habe keinen Absturz, aber wie kann ich auf die Variable in module2 zugreifen? thx – radjiv

+0

@radjiv: Lässt Ihr module2.js sagen ist, wie unten module.exports = { variable1: { } } Um variable1 Verwendung Modul zugreifen = require (‘./ module2 ') [' variable1' ] ; –