UNPKG

3.16 kBJavaScriptView Raw
1const defaultsPWA = require('../defaults/pwa')
2
3/**
4 * 初始化 node.js 环境变量
5 */
6module.exports = () => {
7 const defaults = {
8 // Webpack 打包项目模式
9 // isomorphic 同构 | spa 单页面应用 | static 静态站点
10 // 默认情况下,会在 Webpack 打包执行前根据项目配置自动决定,无需修改
11 WEBPACK_BUILD_TYPE: 'isomorphic',
12
13 // Webpack 打包场景
14 // client 客户端 | server 服务端
15 WEBPACK_BUILD_STAGE: 'client',
16
17 // Webpack 打包环境
18 // dev 开发 | prod 生产
19 WEBPACK_BUILD_ENV: 'dev',
20
21 // Webpack 打包结果分析
22 WEBPACK_ANALYZE: JSON.stringify(false),
23
24 // chunkmap
25 WEBPACK_CHUNKMAP: '',
26
27 // 客户端开发环境 webpack-dev-server 端口号 (仅限 STAGE: client && ENV: dev)
28 WEBPACK_DEV_SERVER_PORT: 3001,
29
30 // 服务器端口
31 SERVER_PORT: (() => {
32 if (process.env.WEBPACK_BUILD_ENV === 'dev')
33 return '3000'
34 if (typeof __SERVER_PORT__ !== 'undefined')
35 return __SERVER_PORT__
36 return '8080'
37 })(),
38
39 // 服务器端口 (开发模式主服务器)
40 SERVER_PORT_DEV_MAIN: '3000',
41
42 // Koot 项目启动目录路径。默认为 process.cwd()
43 // KOOT_CWD: process.cwd(),
44
45 // Koot 项目配置文件路径 (./koot.js)。默认不存在。如果存在则默认使用
46 // KOOT_PROJECT_CONFIG_FULL_PATHNAME: ...,
47 // KOOT_PROJECT_CONFIG_PORTION_PATHNAME: ...,
48
49 // Koot 打包配置文件路径 (./koot.build.js)。默认不存在。如果存在则默认使用
50 // KOOT_BUILD_CONFIG_PATHNAME: ...,
51
52 // 项目名。默认会在进行 Webpack 打包开始前,从项目配置中抽取并写入到环境变量
53 // KOOT_PROJECT_NAME: ...,
54
55 // 项目类型。默认不存在。如果存在则默认使用
56 // KOOT_PROJECT_TYPE: ...,
57
58 // 总开关:i18n/多语言相关处理
59 KOOT_I18N: JSON.stringify(false),
60 // i18n处理方式
61 KOOT_I18N_TYPE: JSON.stringify(''),
62 // 语言包
63 KOOT_I18N_LOCALES: JSON.stringify([]),
64 // 使用的COOKIE KEY
65 KOOT_I18N_COOKIE_KEY: 'spLocaleId',
66 // i18n cookie 影响的域名
67 // KOOT_I18N_COOKIE_DOMAIN: '',
68 // i18n URL 使用方式
69 KOOT_I18N_URL_USE: 'query',
70
71 // HTML模板内容
72 // KOOT_HTML_TEMPLATE: '',
73
74 // 打包目标路径(相对运行目录)
75 // KOOT_DIST_DIR: '',
76
77 // PWA Service-Worker 脚本是否自动注册
78 KOOT_PWA_AUTO_REGISTER: JSON.stringify(defaultsPWA.auto),
79 // PWA Service-Worker 访问路径
80 KOOT_PWA_PATHNAME: JSON.stringify(defaultsPWA.pathname),
81
82 // 当前是否是测试模式
83 KOOT_TEST_MODE: JSON.stringify(false),
84 }
85 for (let key in defaults) {
86 if (typeof process.env[key] === 'undefined') {
87 process.env[key] = defaults[key]
88 }
89 }
90}