# express-exe **Repository Path**: sen2020/express-exe ## Basic Information - **Project Name**: express-exe - **Description**: 将Express开发的js打包成exe服务丢给客户端使用 - **Primary Language**: JavaScript - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2025-03-24 - **Last Updated**: 2025-06-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1. 全局安装pkg打包工具 npm install -g pkg 2. npm install 安装依赖包 3. 运行 pkg app.js --output server.exe --- #### 知识点 1. express 的启动实例化发生点在于require环节时就发生了 和 php 在请求时装载逻辑不一样 2. require 时请求的对象就会单例化 后续再次require时都不再重新执行一边 3. 因此sequelize在启动时就开始建立并实例化Model丢出去,等待代码的后续使用 4. 而不是每次 require 时都重新再实例化一遍 5. 可以想象在编译过程中,是把代码都整合在一个二进制文件里 6. 也即所谓的require,就类似于调用了一个闭包函数,实例了一个对象,后续的代码都会复用这个变量 7. 这是符合后端代码的概念的 而新的ES6模式,反而更不容易理解 ## 注意 1. 打包里面给了所有平台的打包配置 但彼此不兼容 需要打包那个平台 就保留那个平台的配置开始打包 2. 因为window支持wsl切换linux和windows平台 所以切回来时 注意 `npm rebuild` 否则没有当前平台的二进制依赖