各位 iT 邦幫忙的大神好!弱弱的我自修 Node.js 遇到問題,以下是我的模組程式,我將她存為 index.js
var content = "hello world";
exports.message = content;
然後我運行 npm init,得到如下的 json 檔
{
"name": "moduletest",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "node test/test.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"message": "0.0.1"
}
}
如下是我的 test 資料夾下的 test.js 程式
var msg = require ("message");
console.log (msg);
但運行node test
卻找不到 module (有用npm install message --save
安裝成功),直接在 test 資料夾裡運行node test.js
輸出 {},但我應該要輸出 hello world,輸出空大括號與我要的不同。弱弱的我是照歐萊禮的『Node 學習手冊:伺服器端開發』自修的,雖然能大概猜出程式碼的意思 (沒有完全看懂) 但運行程式時覺得頗燒腦,比如不知道要把檔案放在哪個資料夾或該提供甚麼檔案,有點像我以前做代工廠的『TEST CASE』。總之希望各位大神幫幫我吧!
你好,如果你要在 test.js
使用 index.js
的內容,可以直接用相對路徑的方式載入:
const yourModule = require('../index');
console.log(yourModule.message); // hello world
資料夾結構:
.
├─ node_modules
├─ index.js
├─ test
| └─ test.js
└─ package.json
關於 npm install message --save
的部分,應該是安裝到了這個同樣名字叫 message 的 package。
TO [HAO] :大神的回答真是精闢啊!弱弱的我剛剛把 message 改成 message1 果然提示 “ NOT FOUND ”,看起來是我沒有註冊 NPMJS ORG 並且沒有 publish,但我是初學者用不到 publish 的功能,所以這個驗證就此打住。您的相片看起來很年輕,但卻有如此深厚的 Node.js 功力,看來弱弱的我真該加把勁嚕~
小弟我也在學習的路上,一起努力囉!
TO [HAO] :剛剛看了大神您的檔案,覺得您真的是很強,所以就追蹤您了。聊些題外話!弱弱的我以前是寫韌體的,工作之餘都在做 Side Project 導致正職效率低落,考績數次被打 B。現在因為想練瑜珈計劃轉換到中山區的網路公司,為了考績下定決心不再做 Side Project。我們寫程式最高境界就是做出世界通用的 Open Source,所以是比創意的,但大家都是上班族只能用閒暇時間開發難度很高,而且弱弱的我英文很弱看不懂原文第一手資料,頂多就是參加實體論壇研討會認識一下各方高人。