UNPKG

4.18 kBJavaScriptView Raw
1"use strict";
2const path = require('path');
3/**
4 * @统一配置文件
5 */
6
7/**
8 * @config Json File Content
9 */
10
11module.exports = {
12 "compressThreadCrisis": 200, //当要压缩的文件超过这个值时,会开启多进程压缩。
13
14 "configFileName": "config.json", //配置文件名称
15
16 "projectPath": "", //工程目录前缀
17
18 "cssDir": "css", //css文件夹名称
19 "imagesDir": "css/i", //images文件夹名称
20 "jsDir": "js", //js文件夹名称
21 "htmlDir": "html", //html文件夹名称
22 "widgetDir": "widget", //widget文件夹名称
23
24 "outputDirName": "build", //输出的目标文件夹名称
25 "outputCustom": "", //输出的源文件夹名称,以逗号分隔
26
27 "widgetOutputName": "widget",
28 "widgetOutputMode": 1, // 1: all widgets|2: white list|3: black list
29 "widgetWhiteList": [], // 指定白名单,在widgetOutputMode=2时,输出这个列表内容到widget.js/widget.css中
30 "widgetBlackList": [], // 指定黑名单,在widgetOutputMode=3时,排除这个列表的widget
31 "widgetNesting": true, // widget嵌套功能
32 "widgetLabel": true, // 给widget嵌入html时打上标签
33
34 "localServerPort": 80, //本地服务器端口
35
36 "cdn": "//misc.360buyimg.com", //静态cdn域名
37
38 "serverDir": "misc.360buyimg.com", //上传至远端服务器文件夹的名称
39 "previewServerDir": "page.jd.com", //html文件夹上传至服务器所在的文件夹名称
40 "widgetServerDir": "jdfwidget.jd.com", //widget服务器所在的文件夹名称
41
42 "build":{
43 "jsPlace": "insertBody", //调试时js文件位置 insertHead|insertBody
44 "livereload":true, //是否开启browser-sync监测文件变化
45 "sass":true,//是否开启sass编译
46 "less":true,//是否开启less编译
47 "csslint":false//是否开启csslint
48 },
49 "upload": {
50 "type": "http", // 默认 ftp scp http
51 "host": null, // 服务器的域名或者ip
52 "user": null, // 上传时使用的用户名, ftp、scp需要,http不需要
53 "password": null, // 规则同上
54 "port": null, // 传输端口,ftp默认21,scp默认22,http默认3000
55 "rootPrefix": "/var/www/html/" // scp时传输的目录前缀,用来确认上传文件最终的地址,一个文件最终的地址会是rootPrefix + serverDir + projectPath + filePath,你可以根据自身server的配置来修改这个值
56 },
57 "output":{
58 "linkReplace": true, // 给link.href添加cdn前缀,它和cssImagesUrlReplace相互独立
59 "cssImagesUrlReplace": true,//css中图片url加cdn替换
60 "jsUrlReplace": true, //js文件的id和dependences是否添加cdn前缀,添加script.src cdn前缀
61 "comboItemCount":2, //在同一个文件夹中,如果 js 或 css 文件数多于此数字,则会 combo
62 "cssCombo": true, //css进行combo
63 "jsCombo": true, //js进行combo
64
65 "hasBanner": true, //是否给js文件,css文件添加banner时间戳
66 "compresshtml": false,//是否开启压缩html文件
67 "compressJs": true,//是否开启压缩js文件
68 "compressCss": true,//是否开启压缩css文件
69 "compressImage": true,//是否开启压缩图片
70
71 "cssSprite": true, //是否开启css sprite功能
72 "cssSpriteMode": 1, //0: 将所有css文件中的背景图合并成一张sprite图片,1: 将每一个widget中的背景图分别合并成一张图片
73 "cssSpriteMargin": 10, //css sprite图片之间的间距
74 "cssSpriteDirection": 'vertical', //vertical:垂直合并,horizontal:水平合并
75 "cssAutoPrefixer": true, //是否自动删除过时的浏览器css前缀
76 "browserslist": ['last 2 version', '> 0.2%', 'ie > 7'], // autoprefixer的浏览器筛选
77
78 "base64": true, //是否对图片进行base64编码
79 "webp":false, //是否生成对应的webp图片
80
81 "excludeFiles": "",//想要直接忽略的文件/文件夹,路径相对于当前项目根目录,以逗号分隔,例如:"test,test.css"
82 },
83
84 "babel": {
85 // 默认只启用基本转义 http://babeljs.io/docs/plugins/preset-env/
86 "defaultPresets": [path.resolve(__dirname, "../node_modules/babel-preset-env")],
87 "presets": [],
88 "defaultPlugins": [],
89 "plugins": []
90 },
91
92 // 插件 "jdf-cms"
93 "plugins": [],
94
95 //依赖的组件列表
96 "components": {}
97}