Start every new project with npm init Sử dụng .npmrc một cách thông minh default, npm sẽ không tự động lưu các dependencies vào package.json. Nếu ta sử dụng --save , các package sẽ có dấu ^ ,dẫn đến việc có thể khiến các module tự động nâng cấp phiên bản. Điều này ổn trong quá trình phát triển nhưng không ổn cho product. Giải pháp cho việc này là npm install abc ーーsave ーーsave-exact Hoặc tốt hơn điều chỉnh trong file ~/.npmrc bằng cách npm config set save=true
npm config set save-exact=true
Giờ chỉ cần npm install abc là được
Đặt tên file thì chỉ nên đặt lowercase Node.js là một ứng dụng tập trung vào linux như lại là crossplatform → Thì sao Windowns và OSX thì xử lí các file ‘myclass.js’ và ‘MyClass.js’ giống nhau, Linux lại không như vậy Nên để ứng dụng làm việc thiệt tốt trên crossplatform → hãy viết mọi file lowercase → my-class.js node runtime được giới hạn trong 1 nhân cpu và với 1.5gb ram → deloy non-clustered app trên một server lớn thì rất phí để dùng nhiều nhân hơn và nhiều bộ nhớ hơn → dùng module Testing là cách tốt nhất để tìm số process lý tưởng cho app. Hãy bắt đầu với việc recommend của platform const CONCURRENCY = process.env.WEB_CONCURRENCY || 1;
Nên dùng các thư viên về để tránh “phát minh lại bánh xe”. Nếu thích file nhỏ nhỏ thì hãy dùng Hãy dùng enviroment variables thay vì dùng các file config V8 sử dụng cơ chế lazy and greedy garbage collector. Nó sẽ đợi tới giới hạng dung lượng limit (1.5GB) nên nó sẽ đợi tới gần lúc đó mới đi dọn rác. Để có thể có nhiều quyền điều khiển hơn hay thêm flag trong Procfile web: node --optimize_for_size --max_old_space_size=920 --gc_interval=100 server.js
Việc này có rất quan trong nếu flatform của bạn còn thấp hơn 1.5GB