Windows 10 启动DevServer报错不可引入外部模块
Yuyuko1024 opened this issue · 3 comments
NodeJS版本为 18.14.2 LTS,yarn版本 1.22.19。在安装完依赖以后运行yarn dev后报错,但是还是正常的走了webpack流程
PS D:\Desktop\electron-netease-cloud-music> yarn dev
yarn run v1.22.19
$ node script/dev-server.js
<i> [webpack-dev-server] Project is running at:
<i> [webpack-dev-server] Loopback: http://localhost:24353/
<i> [webpack-dev-server] On Your Network (IPv4): http://192.168.110.116:24353/
<i> [webpack-dev-server] Content not from webpack is served from 'D:\Desktop\electron-netease-cloud-music\src\renderer' directory
Debugger listening on ws://127.0.0.1:5858/6b82bf0f-3fe1-4e7c-88b8-6f3a2410cd57
For help, see: https://nodejs.org/en/docs/inspector
App threw an error during load
D:\Desktop\electron-netease-cloud-music\src\main\index.js:1
import { join } from 'path';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at Object.compileFunction (node:vm:352:18)
at wrapSafe (node:internal/modules/cjs/loader:1040:15)
at Module._compile (node:internal/modules/cjs/loader:1076:27)
at Module._compile (D:\Desktop\electron-netease-cloud-music\node_modules\pirates\lib\index.js:136:24)
at Module._extensions..js (node:internal/modules/cjs/loader:1175:10)
at Object.newLoader [as .js] (D:\Desktop\electron-netease-cloud-music\node_modules\pirates\lib\index.js:141:7)
at Module.load (node:internal/modules/cjs/loader:988:32)
at Module._load (node:internal/modules/cjs/loader:829:12)
at c._load (node:electron/js2c/asar_bundle:5:13343)
at Module.require (node:internal/modules/cjs/loader:1012:19)
还有突然想了解一下本项目支持在Windows构建并打包Windows版本吗
App threw an error during load
这个错误看起来像是 electron 报的,不过这里
electron-netease-cloud-music/script/dev-server.js
Lines 21 to 26 in 52fedc1
启动的是 index.dev.js ,有加载 @babel/register
不应该报 SyntaxError 才对 ... 不过我从来没有在 windows 上运行过 dev server ,也不好说是哪里的问题,可以尝试把上面 absPath('/src/main/index.dev.js')
里的路径改成 windows 用的反斜杠,或者排查一下为什么没有用到 @babel/register
。
在 windows 上运行是没问题的,可以参考 #108 ,只要下载一个 electron 的二进制包,解压开,然后把 release 里面的 asar 文件重命名,并放到对应的目录就可以了。
咱试了下使用Windows反斜杠路径启动会导致Electron自行关闭🤔
不过现在也没什么太大的原生平台编译需求了,因为已经靠WSL2跨平台编译了win32 x64版app了😋感谢大佬的努力
找了一台 windows 的机器试了一下,确实是路径处理的问题,只不过找错地方了
这里 only
的正则是没法匹配 windows 的路径的
b108be3 已经修复了
electron-netease-cloud-music/src/main/index.dev.js
Lines 20 to 22 in b108be3