2016-11-17 50 views
-1

我們可以在Node.js 中使用require()函數有哪些不同的方法,它們之間有什麼不同?
例如,在node.js中使用require()函數有哪些不同的方法?

  • const colors = require('colors');我知道,這看起來對於包中的node_modules目錄
  • const colors = require('./colors');
  • const colors = require('/colors');
  • const Datastore = require('@google-cloud/datastore');

  • const square = require('lib').square;

  • const ep = require('./routes')(app);
  • const { red, blue, pink } = require('colors');
  • 還包括其它種用法其不是在上述列表中。
+1

看起來像(傻)的面試問題給我。有什麼實際的理由你需要知道嗎? – georg

+0

忘記'require('./ colors.node');':) –

+0

在所有這些示例之間使用require函數只有三點不同。其他一切都是關於需要的模塊。 – Quentin

回答

1

require('./ colors')在您的文件所在的同一文件夾中查找colors.js。 而在大多數其他情況下,您列出的參數只是文件的路徑。

而旁邊的人都沒有關係,要求行爲

const square = require('lib').square; //is same as 
const lib = require('lib');   //1. get lib object 
const square = lib.square    //2. access its property 

const ep = require('./routes')(app); //is same as 
const routesFunc = require('./routes'); //1. in routes file exports object is function 
const ep = routesFunc(app);    //2.execute function with parameter 

const { red, blue, pink } = require('colors'); // same as previous 
const colors = require('colors);    //looks for color in node modules and returs colors object 
const {red, blue, pink} = colors;    //es6 feature. Same as 
const red = colors.red; 
const blue = colors.blue; 
const pink = colors.pink 
相關問題