Dieser Artikel teilt Ihnen hauptsächlich die detaillierte Erklärung des Exports in js mit, hauptsächlich in Form von Code. Ich hoffe, dass er allen helfen kann.
Verwandte Videoempfehlungen: 1.JavaScript Quick Start_Jade Girl Heart Sutra Series
Verwandte manuelle Empfehlungen: 1.JavaScript Chinesisches Referenzhandbuch
Schreiben 1
exports.hello = function(){ console.log(‘world’); }
Schreiben 2
var f = { hello : function(){ console.log(‘world’); } } module.exports = f;
Angenommen, der Dateiname des von uns geschriebenen Moduls lautet hello.js, führen Sie den folgenden Code aus
var h = require(‘hello’); h.hello();
Für die beiden oben genannten Schreibmethoden ist das Ergebnis nach der Ausführung dieses Codes dasselbe.
module.exports:
Zum Beispiel:
1,
//a.js module.exports = ['aaa',18] //b.js var a= require('a')console.log(a[1]) //输出18
2,
//a.js module.exports =function(){ this.show=function(){ console.log('hahah~'); } } //b.js var a= require('a'); var obj = new a();obj .show();//输出hahah~ module.exports
Mein Verständnis ist: Sie weisen module.exports etwas zu und Sie erhalten etwas, nachdem require
exports : //a.js exports.show =function(){ console.log('hahah~'); } //b.js var a= require('a'); a.show();//输出hahah~
exports bereits ein Objekt ist. Sie können diesem Objekt Attribute hinzufügen , und nach „require“ erhalten Sie das Exportobjekt.
Aber Sie können Exporten kein neues Objekt zuweisen, wie z. B. exports={}
Es ist auch zu beachten, dass alle Exportoperationen ungültig sind, wenn module.exports bereits über Inhalte verfügt . Denken Sie daran
Lassen Sie uns noch einmal über den Prototyp sprechen. Er dient dazu, dem Prototyp Attribute hinzuzufügen. Lassen Sie mich Ihnen ein weiteres Beispiel geben.
//a.js module.exports =function(){ } module.exports.prototype.show = function(){ console.log('hahah~'); } //b.js var a= require('a'); var obj = new a() obj.show()//输出hahah~
//a.js module.exports =function(){ } module.exports.show = function(){ console.log('hahah~'); } //b.js var a= require('a'); a.show()//输出hahah~ ##module.exports与exports的区别
Wenn module.exports geändert wird, werden die Exporte nicht geändert, und wenn das Modul exportiert wird, ist die tatsächlich exportierte Ausführung module.exports, nicht exports
module.exports = {}; Node.js为了方便地导出功能函数,node.js会自动地实现以下这个语句 foo.js exports.a = function(){ console.log('a') } exports.a = 1 test.js var x = require('./foo'); console.log(x.a)
Fühlen Sie sich ein wenig aufgeklärt? Hier sind einige häufig vorkommende Verwendungsmethoden in Open-Source-Modulen.
foo.js exports.a = function(){ console.log('a') } module.exports = {a: 2} exports.a = 1 test.js var x = require('./foo'); console.log(x.a) result: 2
Wenn ein externes Modul es aufruft, kann es alle Methoden von View aufrufen. Es ist jedoch zu beachten, dass nur statische Methoden von View aufgerufen werden können. Vom Prototyp erstellte Methoden sind private Methoden von View.
##module.exports = View function View(name, options) { options = options || {}; this.name = name; this.root = options.root; var engines = options.engines; this.defaultEngine = options.defaultEngine; var ext = this.ext = extname(name); if (!ext && !this.defaultEngine) throw new Error('No default engine was specified and no extension was provided.'); if (!ext) name += (ext = this.ext = ('.' != this.defaultEngine[0] ? '.' : '') + this.defaultEngine); this.engine = engines[ext] || (engines[ext] = require(ext.slice(1)).__express); this.path = this.lookup(name); } module.exports = View;
foo.js function View(){ } View.prototype.test = function(){ console.log('test') } View.test1 = function(){ console.log('test1') } module.exports = View test.js var x = require('./foo'); console.log(x) //{ [Function: View] test1: [Function] } console.log(x.test) //undefined console.log(x.test1) //[Function] x.test1() //test1 ##var app = exports = module.exports = {};
##exports.init= function(){}
exports = module.exports = createApplication; /** * Expose mime. */ exports.mime = connect.mime;
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Exporte in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!