fast-sourcemap-upload

1.1.10 • Public • Published

FAST SourceMap Upload

上传SourceMap文件node脚本

插件功能

fast-sourcemap-upload根据用户配置的文件目录,自动递归搜索配置目录下的source文件和.map文件,并根据文件名与oss仓库文件做比对,实现增量上传源文件与map文件

提示:避免在开发环境使用该插件,在生产环境再启用该插件

配置项

配置 字段类型 说明 是否必填 默认值
app_key string 项目唯一标识 无默认值
product_code string product_code 无默认值
app_code string app_code 无默认值
upload_url string 待上传文件目录路径(绝对路径) 无默认值
is_delete_source_map boolean 是否在上传完map文件后删除输出目录的.js.map和.css.map文件,默认值为true true
timeout number 单个文件上传超时时间,默认值300000,5分钟 300000
sts_url string STS上传权限获取接口 无默认值
force_update boolean 是否强制上传 false

使用

npm i fast-sourcemap-upload -D

创建一个js文件 nodeUpload.js

const nodePlugin = require('fast-sourcemap-upload');
const path = require('path')
nodePlugin({
  app_key: 'your app——key',
  product_code: 'your product_code',
  app_code: 'your app_code',
  upload_url: path.resolve(__dirname, 'your dir_path'),
  is_delete_source_map: true,
})

终端

node nodeUpload

上传时间

上传时间不定,根据当前网络状况决定,oss仓库存在的文件不会上传(根据文件路径与名称区分,请开启文件名hash)。

注意事项

  1. 前端构建工具请开启文件名hash模式,增量上传是根据文件路径与文件名进行区分的。

  2. 如果您的项目将css、less、scss文件打包入您的js文件时,请在相关loader中关闭您css、less、scss相关文件的sourcemap生成配置。以防止生成的map文件一并打包入您的js文件中,导致js文件大小超过预期。

例:

{
  loader: 'style-loader',
  options: {
    sourceMap: false
  }
}
  1. 由于node对进程的内存分配有默认设置,32位系统 node默认分配内存 0.7g左右,64位系统默认分配内存1.4g左右, 如果项目复杂,在开启souremap生成选项时,打包的时候,可能出现内存不足导致打包失败的情况

例:

<--- Last few GCs --->

[70041:0x103800000]   112100 ms: Mark-sweep 1049.8 (1273.7) -> 1049.7 (1214.2) MB, 427.1 / 0.0 ms  (average mu = 0.618, current mu = 0.000) last resort GC in old space requested
[70041:0x103800000]   112510 ms: Mark-sweep 1049.7 (1214.2) -> 1049.7 (1192.2) MB, 410.3 / 0.0 ms  (average mu = 0.447, current mu = 0.000) last resort GC in old space requested


<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 0x36295d35be3d]
Security context: 0x0280a0d9e6e1 <JSObject>
    1: byteLength(aka byteLength) [0x280057866f1] [buffer.js:531] [bytecode=0x280f3e290c1 offset=204](this=0x0280cf7826f1 <undefined>,string=0x028037c8a291 <Very long string[190258200]>,encoding=0x0280a0dbd819 <String[4]: utf8>)
    2: arguments adaptor frame: 3->2
    3: fromString(aka fromString) [0x2800579d2d9] [buffer.js:342] [bytecode=0x280f3e278e1 offs...

解决方案:

配置打包命令时,修改node进程占用内存的大小 --max-old-space-size

例:

package.json

"scripts": {
    "build": " node --max-old-space-size=4096 ./scripts/build.js",
  },

Package Sidebar

Install

npm i fast-sourcemap-upload

Weekly Downloads

1

Version

1.1.10

License

MIT

Unpacked Size

18.5 kB

Total Files

5

Last publish

Collaborators

  • thomwang