klren0312 / daliy_knowledge

知识积累,正确使用方式是watch
21 stars 4 forks source link

pkg打包静态页面静态服务 #731

Open klren0312 opened 1 year ago

klren0312 commented 1 year ago

步骤

1. 初始化项目

mkdir test
cd test
npm init -y
npm install -S express opener
npm install -D pkg

2. 项目结构

--- page 页面打包后的资源文件夹
--- index.js 静态服务代码
--- package.json

3. 静态服务代码

const express = require('express')
const opener  = require('opener')
const path = require('path')
const app = express()

app.use(express.static(path.join(__dirname, 'page')))
app.get('/', express.static(path.join(__dirname, 'page')))

app.listen(8848, () => {
  opener('http://localhost:8848')
  console.log('访问 http://localhost:8848')
})

4. package.json配置pkg

注意: 不要使用"type": "module", 打包会提示无法解析js文件; 静态文件需要使用path.join(__dirname, 'page')来写路径, 这样才能打包到exe中

bin参数是pkg的入口文件, pkg是配置参数

{
  "name": "page",
  "bin": "index.js",
  "pkg": {
    "assets": [
      "page/**/*",
      "node_modules/**/*"
    ]
  },
  "scripts": {
    "pkg": "pkg -t win ."
  },
  "dependencies": {
    "express": "^4.18.2",
    "opener": "^1.5.2",
    "pkg": "^5.8.1"
  }
}