2013-09-25 56 views
11

Bạn có thể sử dụng mô-đun npm bằng cách sử dụng require() trong phantomJS không? Dường như có thể tải các tệp javascript để có thể điều này là có thể?phantomjs: Cách sử dụng mô-đun npm trong phantomjs?

+1

Bạn đã thử thực hiện chính xác những gì bạn đã nói? Có lẽ bạn sẽ ngạc nhiên. –

+0

tôi có thể tìm một ví dụ không? nó không tải module npm cho tôi. – KJW

+0

Tôi vừa thử nhập các mô đun npm bằng cách sử dụng 'require', bạn có thể cho tôi mẫu mã về những gì bạn đã thử không? –

Trả lời

16

Điều đó hoàn toàn phụ thuộc vào mô-đun nodejs. Nó sẽ không hoạt động nếu nodejs mô-đun đòi hỏi một số hỗ trợ thông qua giao diện chức năng có nguồn gốc. (Module NPM như http, socket.io, sẽ không hoạt động trên phantomjs, bởi vì nó phụ thuộc vào giao diện bản địa)

tinh khiết JavaScript nodejs các mô-đun cũng hoạt động trên phantomjs.

+0

Ví dụ, phấn không thể sử dụng được vì nó phụ thuộc vào mô-đun quy trình. –

+1

Bạn có thể cung cấp một ví dụ, đúng cách để chèn mô-đun nút vào các phantomj không? Câu trả lời là hiển nhiên bằng cách làm cho nó hoạt động, yêu cầu hoặc injectjs? – Firanolfind

4

fyi, phantomjs có một số ước lượng của commonjs.

bạn không thể sử dụng module amd trong phantomjs, và tôi không biết về bất kỳ nạp AMD (như requirejs) mà làm việc trong phantomjs

Update (2015): Tôi đã được sử dụng commonjs module trong PhantomJs 1.x và 2.x, chúng hoạt động tốt với một caveat: bạn không thể sử dụng ánh xạ nguồn (ở dưới cùng của tệp, trông giống như //# sourceMappingURL=index.js.map) vì nó sẽ khiến trình tải mô-đun PhantomJs thất bại. Nếu không, mô-đun commonjs sẽ tải bình thường.

+0

Nhận xét sourceMappingUrl cũng là của tôi. Cảm ơn vì tiền hỗ trợ! – Tyson