🔙 Back to Top

Sat Aug 23 14:51:41 JST 2014

node ぎ require とか fs はおこåŸēæē–ぎį›¸å¯žãƒ‘゚か

そろそろはãŖきりさせようīŧŽ

~/test をäŊœæĨ­ãƒ‡ã‚ŖãƒŦクトãƒĒãĢ、 ~/test/test.* という゚クãƒĒãƒ—ãƒˆã‚’åŽŸčĄŒã™ã‚‹ã¨ã ã‚’č€ƒãˆã‚‹

bash ぎ場合

ぞずは bash

~/test$ cd ~/test
~/test$ mkdir src

~/test$ echo '
echo $PWD
cat thefile
' > src/test.sh

~/test$ echo "base" > thefile
~/test$ echo "base/src" > src/thefile

~/test$ bash src/test.sh
/home/cympfh/test
base

これはつぞり、゚クãƒĒプトをäŊœæĨ­ãƒ‡ã‚ŖãƒŦクトãƒĒãĢã‚ŗピãƒŧしãĻã‹ã‚‰åŽŸčĄŒã—ãŸã¨č€ƒãˆãĻ同じ挙動であるīŧŽ

cp src/test.sh .
bash test.sh

(これは上と同じ挙動)

node (nodejs) ぎ場合

src/library.js をčĒ­ã‚€ (require) ゚クãƒĒプト src/test.js を、 äŊœæĨ­ãƒ‡ã‚ŖãƒŦクトãƒĒから å‘ŧãļīŧŽ

// src/test.js
fs = require('fs')
cat = require('./library.js').cat
cat('thefile')
console.log(fs.readFileSync('thefile', 'utf8'))

cat_the_file = require('./library.js').cat_the_file
cat_the_file();
// src/library.js
exports.cat = function (path) {
  console.log(fs.readFileSync(path, 'utf8'))
};
exports.cat_the_file = function () {
  var path = 'thefile'
  console.log(fs.readFileSync(path, 'utf8'))
}

įĩæžœ

~/test$ node src/test.js
base

base

base

つぞり、require ぎ中ãĢ書いたį›¸å¯žãƒ‘゚だけ、 ゚クãƒĒプトåŸēæē–ãĢč§Ŗ釈し、 そぎäģ–ぎパ゚はäŊœæĨ­ãƒ‡ã‚ŖãƒŦクトãƒĒをåŸēæē–ãĢするīŧŽ

įĩ‚わり

åŸēæē–į‚šãŽé•ã†į›¸å¯žãƒ‘ã‚š をįš”ã‚Šäē¤ãœãĻæ›¸ããŽãŒæ°—æŒãĄæ‚ĒいīŧŽ

ãĒãĢより、 vim ぎパ゚čŖœåŽŒãŒä¸€æ–šãŒåˆŠãå ´åˆãĢは もう一斚がおうしãĻも刊かãĒいぎが不äžŋであるīŧŽ