net
mô-đun bắt buộc và được sử dụng trong mô-đun nút MySQL là một phần cốt lõi của chính Node.js. Lỗi bạn đang gặp phải về Net.createConnection
không phải là một hàm có nghĩa là nó xuất hiện dưới dạng một đối tượng trống và lỗi liên quan đến một trong những nhận xét của bạn cho câu hỏi:
Bạn phải chạy mô-đun cụ thể này chỉ trên Node.js, bạn không thể chạy mô-đun này trong trình duyệt web.
Người ta có thể nghĩ rằng một khả năng sẽ là chạy mã của bạn thông qua một trình đóng gói như Browserify
hoặc webpack
vì vậy bạn có thể dễ dàng require('mysql')
trong trình duyệt của bạn nhưng nó sẽ không hoạt động. net
mô-đun là phần phụ thuộc cốt lõi của mysql
mô-đun sẽ được chuyển đổi thành một đối tượng trống {}
Đó không phải là lỗi, mà là cách nó hoạt động. Các trình duyệt không có triển khai tcp chung chung nên không thể mô phỏng nó. Đối tượng trống nhằm ngăn chặn require('net')
không bị lỗi trên các mô-đun hoạt động trong trình duyệt.
Để tránh lỗi này, bạn cần chạy mã này trong môi trường Node.js thuần túy, không phải trong trình duyệt. Một máy chủ đơn giản có thể phục vụ mục đích này vì mã này trong máy khách của bạn trong trình duyệt không thể hoạt động và sẽ thêm lỗ hổng bảo mật vì mọi thứ phía máy khách đều bị thao túng và do đó không an toàn. Bạn không muốn để lộ cơ sở dữ liệu của mình ở phía máy khách mà chỉ sử dụng nó.