1.14.3 • Published 6 years ago

hlj-scripts v1.14.3

Weekly downloads
2
License
MIT
Repository
-
Last release
6 years ago

hlj-scripts

婚礼纪商家端工程开发及构建工具包,提供开发环境、打包等功能

安装及使用

yarn add hlj-scripts

// package.json
{
  "scripts": {
    "start": "hlj-scripts start",
    "build": "hlj-scripts build"
  }
}

hlj-scripts 配置

hlj-scripts 在开发及打包模式下,都会去读取项目根目录下的 hlj.config.js 文件,当前支持的配置项包括:port、proxy、publicPath、extraVendor 等,下面是所有的配置选项:

port(Number)

端口,可选,默认 3000,如本地 3000 端口被占用,则可更换端口

// hlj.config.js
module.exports = {
  port: 4000
}

publicPath(String)

资源发布路径,必填,根据现有项目,publicPath 应配置成类似下面路径

// hlj.config.js
module.exports = {
  publicPath: '/p/wedding/Public/admin/merchant_message/dist/'
}

proxy(Object)

开发模式下请求代理,可选,默认为

proxy: {
  '/p': 'http://admintest.hunliji.com'
}

如需更改,则覆盖 proxy 即可,如下:

// hlj.config.js
module.exports = {
  proxy: {
    '/p': 'http://admintest.hunliji.com:8083',
    '/api': 'http://test.hunliji.com:8083'
  }
}

extraVendor(Array)

额外的第三方库,可选,默认包含的 vendor 有:

  • react
  • react-dom
  • react-router
  • mobx
  • mobx-react
  • classnames
  • moment

如果工程里安装了额外的第三方库,提供 extraVendor 字段即可,最终打包时 extraVendor 会和默认的 vendor 一起打包到 vendor.js 中

// hlj.config.js
module.exports = {
  extraVendor: ['twemoji']
}

env(Object)

全局变量,可选,默认可使用的全局变量有:

  • __DEV__:true 或 false
  • process.env.NODE_ENV:developmentproduction
  • __fmt1: YYYY-MM-DD
  • __fmt2: YYYY-MM-DD HH:mm:ss

如果想自定义全局变量,提供 env 参数,直接赋值对象即可

// hlj.config.js
module.exports = {
  env: {
    __GLOBAL_NAME__: 'jackson',
    __GLOBAL_USER__: {
      name: 'jackson',
      age: 24
    }
  }
}

webpack(Function)

自定义 webpack 配置,可选,通常不会使用,但特殊情况下也可直接修改 webpack 配置

const { resolve } = require('path')

// hlj.config.js
module.exports = {
  webpack(config) {
    config.resolve.alias['@Base'] = resolve(process.cwd(), 'app/common/Base')
    return config
  }
}

eslint(Boolean)

是否启用 eslint,可选,默认为 true

bundleAnalyzer(Boolean)

打包结果分析,可选,默认为 false,开启为 true 则打包后会弹出打包资源页面

autoOpen(Boolean)

开发模式是否自动打开浏览器,默认为 true

autoOpenLocalhost(Boolean)

开发模式是否自动打开 localhost,autoOpen 为 true 才生效,默认为 false,打开商家端登录页