Ở phần trước chúng ta đã biết được cách để tạo ra một ứng dụng .Net đơn giản đầu tiên, ở bài này chúng ta tiếp tục với việc khởi tạo một dự án Asp.Net Core.
I. Khởi tạo một dự án Asp.Net Core:
Nếu bạn vẫn đang đứng trong thư mục mà bạn đã tạo cho dự án HelloWord ở bài trước, hãy quay lại thư mục cha hoặc bất kỳ đâu bạn muốn lưu dự án lần này:
cd ..
Tiếp theo, khởi tạo một thư mục để lưu trữ toàn bộ dự án của bạn và di chuyển vào trong nó:
mkdir Todo
cd Todo
Tiếp đến là bước khởi tạo dự án mới vói câu lệnh dotnet new, không giống với dự án trước, lần này ta sẽ khởi tạo dự án với một số tùy chọn bổ sung:
dotnet new mvc –auth Individual -o Todo
cd Todo
Câu lệnh trên tạo ra một dự án mới từ mẫu MVC và thêm một số bit xác thực và bảo mật bổ sung cho dự án.
Có thể bạn thắc mắc tại sao có một thư mục Todo trong một thư mục khác có tên Todo thì đây chính là lời giải thích: Thư mục cấp cao nhất (thư mục gốc) có thể chứa một hoặc nhiều dự án, thư mục gốc đôi khi còn được gọi là thư mục solution. Sau đó bạn có thể thêm nhiều dự án song song với thư mục dự án Todo, tất cả chúng đều được chứa trong thư mục solution.
Bạn sẽ nhìn thấy khá nhiều tập tin nằm trong thư mục dự án mới, khi bạn di chuyển vào thư mục dự án, tất cả những gì bạn phải làm là chạy dự án:
dotnet run
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
Thay vì in ra console và thoát, chương trình yêu cầu máy chủ web và chờ yêu cầu trên cổng 5000.
Mở trình duyệt web của bạn và điều hướng tới http://localhost:5000. Bạn sẽ thấy trang Asp.net Core mặc định sau khi khởi tạo dự án. Khi bạn đã hoàn tất nhấn ctrl+c trong Command để dừng máy chủ.
II. Các phần của một dự án Asp.Net Core:
Câu lệnh dotnet new mvc tạo ra một số tệp và thư mục cho bạn. Dưới đây là những gì quan trọng nhất bạn nhận được từ thư mục dự án:
1. Các tệp Program.cs và Startup.cs thiết lập máy chủ Web và đường dẫn Asp.Net Core. Lớp Startup là nơi bạn có thể thêm các phần mềm trung gian xử lý và sửa đổi các yêu cầu đến và là nơi chứa nội dung tĩnh hay trang thông báo lỗi.
2. Các thư mục Model,View, Controller chứa các thành phần của kiến trúc MVC. Chúng ta sẽ tìm hiểu chi tiết về chúng trong những bài tiếp theo.
3. Thư mục wwwroot chứa các file tĩnh như css, javascript, ảnh. Các file trong thư mục wwwroot sẽ được phục vụ dưới dạng nội dung tĩnh và có thể đóng gói và thu nhỏ tự động.
4. Tệp appsettings.json chứa các cài đặt cấu hình Asp.Net Core sẽ tải khi khởi động. Bạn có thể sử dụng điều này để lưu trữ chuỗi kết nối cơ sở hoặc những thứ khác mà bạn không muốn mã hóa cứng.
III. Các mẹo khi sử dụng Visual Studio Code:
Nếu bạn sử dụng Visual Studio Code lần đầu, đây sẽ là một vài lời khuyên hữu ích để bạn bắt đầu:
1. Mở thư mục gốc của dự án: Trong Visual Studio Code, chọn File/Open hoặc File/Open Folder (thư mục gốc). Nếu Viusual Code nhắc bạn cài đặt các tệp có thể bị thiếu, bấm OK.
2. F5 để chạy (hoặc debug breakpoint): Khi dự án của bạn mở, nhấn F5 để chạy dự án ỏ chế độ gỡ lỗi ( điều này giống như chạy lệnh dotnet run trên command line) nhưng bạn có thêm tiện ích là đặt các điểm dừng bằng cách nhấp vào lề trái.
3. Lightbulb để sửa lỗi: Nếu code của bạn chứa lỗi gạch chân đỏ (lỗi biên dịch), hãy di chuột của bạn vào mã có màu đỏ và tìm biểu tượng bóng đèn phía bên lề trái. Menu lightbulb sẽ đề xuất các cách sửa lỗi phổ biến (ví dụ như thêm một câu lệnh vào đoạn mã của bạn).
4. Biên dịch nhanh: Sử dụng phím tắt Command+Shift+B hoặc Control+Shift+B để chạy tác vụ Build, hoạt động tương tự như câu lệnh dotnet build.
Note: Nếu bạn sử dụng Visual Studio trên Windows, bạn sẽ cần mở tệp dự án .csproj trực tiếp. Visual Studio sẽ nhắc bạn lưu tệp Solution mà bạn nên lưu trong thư mục gốc. Bạn cũng có thể tạo dự án Asp.Net Core trực tiếp trong Visual Studio bằng cách chọn File/New Project.
IV. Một chú ý về Git:
Nếu bạn sử dụng Git hoặc Github để quản lý mã nguồn của mình bây giờ là thời điểm phù hợp để thực hiện khởi tạo git và khởi tạo kho lưu trữ Git trong thư mục gốc của dự án:
cd ..
git init
Ở những phần tiếp theo chúng ta sẽ đi sâu vào dự án Asp.Net Core để hiểu được cách hoạt động của nó nhé!