2017-02-07 19 views
7

Tôi có một dự án nút được viết bằng chữ số @ 2.Có hỗ trợ bản đồ nguồn cho bản ghi trong nút/nodemon không?

My tsconfig có sourceMap được đặt thành true và các tệp *.map.js được tạo. Khi tôi thực thi các tệp JavaScript *.js transpiled của mình qua node hoặc nodemon, tôi chỉ thấy các thông báo lỗi có liên quan đến tệp js chứ không phải các tệp bản ghi kiểu được ánh xạ; Tôi cho rằng nó hoàn toàn bị bỏ qua.

Hỗ trợ sourceMap chỉ dành cho hỗ trợ trình duyệt? Hoặc tôi có thể sử dụng nó cùng với nút hoặc nút bấm? Nếu sau này, làm thế nào tôi sẽ kích hoạt nó?

Tôi muốn xem lỗi được phát hiện bên trong tệp js liên quan đến tệp bản ghi.

Trả lời

0

tôi thấy mô-đun này NPM mà dường như làm các trick:

https://github.com/evanw/node-source-map-support

chạy npm install source-map-support --save tại thư mục gốc của dự án nút của bạn và thêm import 'source-map-support/register' để main.ts của bạn hoặc tập tin index.ts.

Vậy đó.

3

bản đồ Nguồn hỗ trợ công trình hoàn toàn tốt đẹp với nút

Tất cả bạn cần làm là thêm

"source-map-support": "0.4.11", 

để dependencies hoặc dev-dependencies trong package.json bằng cách chạy

npm install --save source-map-support 

Và trong entry point của bạn tệp ts, chỉ cần thêm ở đầu

require('source-map-support').install() 

(lưu ý: đây đang kêu gọi nodeJS require - không có nhu cầu cho các tập tin định nghĩa nguồn-đồ-support)

+0

Bất kỳ nhược điểm để sử dụng trong sản xuất? (phía máy chủ) – Sev

+0

@ Sev Không xa như chúng ta biết (chúng tôi sử dụng nó trong sản xuất) –

4

Tôi chỉ có làm việc này trong ứng dụng nhanh của tôi.

Cài đặt thư viện yêu cầu:

npm install --save-dev source-map-support

Trong entry point của bạn (giả sử app.ts):

require('source-map-support').install();

Trong app.ts của bạn, bạn cũng có thể yêu cầu đăng nhập tốt hơn cho các lỗi trong vòng lời hứa:

process.on('unhandledRejection', console.log);

Trong tsconfig của bạn, dưới compilerOptions:

"inlineSourceMap": true

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