Tôi có một ứng dụng điện tử mà tôi không chỉ cần chạy giao diện cho người dùng mà còn bắt đầu một máy chủ tốc hành sẽ phục vụ các tệp cho những người được kết nối qua mạng.child_process.fork không bắt đầu một máy chủ tốc hành bên trong ứng dụng điện tử đóng gói
Tôi có mọi thứ hoạt động nếu tôi bắt đầu cả điện tử và máy chủ tốc độ bình thường, nhưng tôi khá tự tin rằng tôi sẽ cần máy chủ chạy trong một luồng khác để tránh giao diện kém và thậm chí cả vấn đề với máy chủ.
Đối với vấn đề đó, tôi đã cố gắng chạy máy chủ tốc hành bằng cách sử dụng child_process.fork và nó hoạt động khi tôi sử dụng npm start
, nhưng khi tôi sử dụng electron-builder
để tạo .exe, chương trình đã cài đặt không khởi động máy chủ tốc hành.
Tôi cố gắng để chạy máy chủ của tôi ngay lập tức sử dụng:
require('child_process').fork('app/server/mainServer.js')
Tôi đã thử nhiều thay đổi, tiền tố file với __dirname
, process.resourcesPath
và thậm chí cứng mã hóa các đường dẫn tập tin được tạo ra; thay đổi các tùy chọn ngã ba để vượt qua cwd: __dirname
, detached: true
và stdio: 'ignore'
; và thậm chí cố gắng sử dụng spawn
với process.execPath
, mà cũng sẽ làm việc với npm start
nhưng sẽ không khi đóng gói (nó vẫn không ngừng mở trường mới của ứng dụng của tôi, dường như rõ ràng sau khi bạn làm hehe)
Lưu ý: Nếu tôi không phân nhánh và yêu cầu kịch bản máy chủ ngay lập tức, sử dụng require('server/mainServer.js')
nó hoạt động trên ứng dụng đóng gói, do đó, vấn đề nhất không phải là bản thân thể hiện.
Lưu ý 2: Tôi có asar: false
để giải quyết các sự cố khác, vì vậy đây không phải là trình giải quyết sự cố ở đây.
tôi đưa ra một dự án git nhỏ để hiển thị vấn đề của tôi:
https://github.com/victorivens05/electron-fork-error
Bất kỳ trợ giúp sẽ được đánh giá cao.