2016-09-08 20 views
22

Có thể chạy ứng dụng Angular 2 trong trình duyệt mà không cần sử dụng NodeJS làm máy chủ hay không. Tôi không chắc chắn, nhưng nếu tôi hiểu chính xác các trình duyệt mới nhất có thể biên dịch/"hiểu" mã TypeScript vì vậy tôi không phải sử dụng bất kỳ phần thứ ba js lib để biên dịch nó thành javascript đơn giản?Cách chạy ứng dụng AngularJS2 không có máy chủ Node

Tôi muốn tạo ra một ứng dụng sử dụng 100% kiễu góc 2 trên frontend và cho REST API backend sử dụng Ruby On Rails, mà không cần sử dụng hiển thị trang của Rails, phiên vv ..

Tôi ít bối rối về nó như thế nào Angular2 làm việc/chạy đằng sau hậu trường ... Làm thế nào tôi nên cấu hình ứng dụng Angular2 của tôi để sử dụng nó mà không có NodeJS?

+0

tôi cần trợ giúp ur Vui lòng trả lời tôi càng sớm càng tốt. –

Trả lời

26

Tôi nghĩ bạn đang trộn một số công nghệ ở đây.

server

Bạn có thể chạy một ứng dụng kiễu góc trên bất kỳ máy chủ đó có thể lưu trữ các tập tin tĩnh. Không có gì đặc biệt về nút. Vì vậy, có, bạn có thể sử dụng một ruby. Hoặc Apache, nginx, lighttpd, v.v.

Lý do cho điều này là JavaScript được chạy ở phía máy khách. Phản hồi của máy chủ chỉ để phân phối các tệp JS/HTML/CSS cho ứng dụng khách đang truy cập trang web của bạn.

nguyên cảo

Nếu bạn đang viết một ứng dụng với nguyên cảo bạn cần phải transpile nó để JavaScript trước trình duyệt bất kỳ hiểu nó. Bạn có thể làm điều này (1) trước khi bạn triển khai ứng dụng của mình tới máy chủ hoặc (2) sử dụng thư viện như System.js sẽ chuyển đổi TypeScript khi đang di chuyển.

Mặc dù (2) chắc chắn là một lựa chọn và Angular CLI đã sử dụng nó cho đến gần đây, (1) theo ý kiến ​​của tôi thì lựa chọn tốt hơn. Góc CLI chuyển sang (1) và hiện đang sử dụng webpack. Webpack đang chuyển đổi và đóng gói ứng dụng của bạn trước ứng dụng được lưu trữ trên máy chủ.

Hy vọng tôi có thể xóa mọi thứ một chút cho bạn.

+0

Cảm ơn bạn rất nhiều vì câu trả lời của bạn :) –

+0

Bạn được chào đón :) –

+0

Xin chào @SebastianSebald, cảm ơn câu trả lời. Nhưng tôi có một nghi ngờ. Tôi đã thực hiện các hướng dẫn của tour du lịch của anh hùng của trang web góc 2 và khi tôi đã hoàn thành, Nó hoạt động hoàn hảo tại địa phương chạy npm bắt đầu, nhưng nếu tôi đặt nó trên một máy chủ (với apache), nó không tải. Bạn có biết điều gì có thể xảy ra không? Cảm ơn! –

7

TL; DR

Nếu bạn sử dụng nguyên cảo với góc 2, bạn chỉ cần Node trong phát triển:

Phát triển: NodeJS được sử dụng để transpile .ts file .js tập tin.

Sản: Chỉ tạo .js file này sẽ được sử dụng, NodeJS được không cần nữa, trừ khi bạn cũng xảy ra sử dụng nó trong các phụ trợ.

LƯU Ý: Nếu bạn chỉ sử dụng JS đồng bằng trong phát triển bạn thậm chí không cần Node

2

Bạn có thể sử dụng bất kỳ công nghệ phía máy chủ bao gồm Asp.Net Core, Node.js, PHP để máy chủ js, html và nội dung css.

Trong khi xây dựng ứng dụng trong IDE, Node.js sẽ chuyển các tệp .ts thành tệp .js.

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