2016-01-11 15 views
10

Tôi đang sử dụng Mac OSX. Tôi đã cài đặt nút qua Homebrew. Tôi đã cài đặt thư viện của mình (MomentJS) qua npm install -g moment.Làm cách nào để yêu cầu một mô-đun sử dụng nút từ dòng lệnh?

Khi tôi gõ node trong dòng lệnh, tôi nhận được NodeJS console, nó trông giống như:

>

Bây giờ, chúng ta hãy nói rằng tôi muốn sử dụng thư viện moment. Nếu tôi gõ:

var moment = require('moment'); 

tôi nhận được lỗi sau:

Error: Cannot find module 'moment'

Làm thế nào tôi có thể cấu hình và require một thư viện bên ngoài sử dụng Node từ dòng lệnh?

Trả lời

12

Bạn có thể thực hiện như sau:

npm install moment # module must be installed locally 
node --require moment 

Và nhập như sau:

var moment = require('moment'); 
moment().format(); 

Từ man page:

-r, --require   module to preload at startup 

According to the source, dường như node --require sẽ không tìm kiếm cho các mô-đun toàn cầu trong phiên bản 4.2.x và sẽ không t gây ra bất kỳ lỗi nào nếu module được cài đặt trên toàn cầu và không phải cục bộ.

+0

Hm - Tôi đang gặp lỗi tương tự ... – YPCrumble

+0

Tôi vừa nhận ra rằng tôi đã chạy mã của mình trong một thư mục có 'thời gian' được cài đặt cục bộ, không phải trên toàn cầu. Có vẻ như '--require' có thể không hỗ trợ các mô-đun toàn cầu. – ordonezalex

+0

Aha! Nó phải được cài đặt cục bộ. Cảm ơn bạn! – YPCrumble

1

Sau khi bạn cài đặt các mô-đun với npm install moment, tạo ra một kịch bản ứng dụng có tên app.js với các nội dung sau:

var moment = require('moment'); 
var now = moment().format('DD-MMMM-YYYY'); 
console.log(now); 

Sau đó, để kiểm tra nó bạn chạy node app.js trong giao diện điều khiển nơi tập tin này bạn đã tạo tồn tại và nơi bạn đã cài đặt mô-đun nút. Tệp app.js của tôi ở cùng cấp thư mục với thư mục node_modules đã được tạo khi thời điểm được cài đặt.

Các vấn đề liên quan