我很难理解如何将单独的.js文件导入到我的index.js节点文件中。NodeJS中的JavaScript类和模块
我创建了一个文件pokemon.js,如下图所示:
var pokemon = (function(){
function Pokemon(name) {
this.name = name;
console.log("pokemon");
}
})();
module.exports.Pokemon = pokemon;
我index.js
,现在我想使用它:
var Pokemon = require('./models/pokemon.js');
//我怎么叫口袋妖怪功能?
UPDATE:
var Pokemon = require('./models/models.js');
var app = express();
var pokemons = [];
app.get("/pokemon/all",function(req,res){
var pokemon = Pokemon("Pikachu"); // Pokemon is not a function
})
这里是我找到了解决办法:
models.js:
module.exports = function(name) {
this.name = name;
}
index.js:
var Pokemon = require('./models/models.js');
var app = express();
var pokemons = [];
app.get("/pokemon/all",function(req,res){
var pokemon = new Pokemon('Pikachu');
pokemons.push(pokemon);
res.json(pokemons);
})
您IIFE不返回任何东西,所以'pokemon'是'undefined'。 – 4castle
删除IIFE部分,并使'pokemon =功能口袋妖怪...'。 –
你可以写作是一个答案,所以我有更好的主意?如果口袋妖怪有方法或功能,该怎么办? –