diff --git a/.gitignore b/.gitignore index 0f87136..78a752d 100644 --- a/.gitignore +++ b/.gitignore @@ -21,4 +21,3 @@ selenium-debug.log package-lock.json yarn.lock -vue.config.js diff --git a/src/api/aitutor/chat.js b/src/api/aitutor/chat.js new file mode 100644 index 0000000..15eff17 --- /dev/null +++ b/src/api/aitutor/chat.js @@ -0,0 +1,85 @@ +import request from '@/utils/request'; + +/** + * 获取会话列表 + * @param {Object} params - 请求参数 + * @param {number} params.user - 用户ID + * @returns {Promise} + */ +export function getConversationList(params) { + return request({ + url: '/aitutor/aichat/conversations', + method: 'get', + params + }); +} + +/** + * 发送消息 + * @param {Object} data - 请求体 + * @param {string} data.query - 查询内容 + * @param {string} [data.conversation_id] - 会话ID + * @param {number} data.user - 用户ID + * @param {number} data.user_id - 用户ID + * @param {string} data.user_name - 用户名 + * @param {string} data.user_role - 用户角色 + * @param {string} data.user_token - 用户token + * @returns {Promise} + */ +export function sendMessage(data) { + return request({ + url: '/aitutor/aichat/stream', + method: 'post', + data, + headers: { + 'Accept': 'text/event-stream' + } + }); +} + +/** + * 提交反馈 + * @param {Object} data - 请求体 + * @param {string} data.message_id - 消息ID + * @param {number} data.user_id - 用户ID + * @param {string} data.rating - 评分('like'或'dislike') + * @param {string} [data.content] - 反馈内容 + * @returns {Promise} + */ +export function submitFeedback(data) { + return request({ + url: '/aitutor/aichat/feedback', + method: 'post', + data + }); +} + +/** + * 获取反馈列表 + * @param {Object} params - 请求参数 + * @param {string} params.conversation_id - 会话ID + * @param {number} params.user_id - 用户ID + * @returns {Promise} + */ +export function getFeedbacks(params) { + return request({ + url: '/aitutor/aichat/app/feedbacks', + method: 'get', + params + }); +} + +/** + * 获取历史消息 + * @param {Object} params - 请求参数 + * @param {string} params.conversation_id - 会话ID + * @param {number} params.user - 用户ID + * @returns {Promise} + */ +export function getHistoryMessages(params) { + return request({ + url: '/aitutor/aichat/history', + method: 'get', + params + }); +} \ No newline at end of file diff --git a/src/views/aitutor/chathistory/index.vue b/src/views/aitutor/chathistory/index.vue new file mode 100644 index 0000000..1cf4cf4 --- /dev/null +++ b/src/views/aitutor/chathistory/index.vue @@ -0,0 +1,273 @@ + + + + + \ No newline at end of file diff --git a/src/views/aitutor/chattest/index.vue b/src/views/aitutor/chattest/index.vue new file mode 100644 index 0000000..e9f8884 --- /dev/null +++ b/src/views/aitutor/chattest/index.vue @@ -0,0 +1,671 @@ + + + + + + + \ No newline at end of file diff --git a/src/views/aitutor/psychological-earlywarning/index.vue b/src/views/aitutor/psychological-earlywarning/index.vue new file mode 100644 index 0000000..e69de29 diff --git a/src/views/basedata/stu/own.vue b/src/views/basedata/stu/own.vue index e3e53e5..bc370d1 100644 --- a/src/views/basedata/stu/own.vue +++ b/src/views/basedata/stu/own.vue @@ -190,28 +190,46 @@ - + - + - + + + + - + + + + - + + + + + + + + + + + + + - + - + - + @@ -349,9 +367,13 @@ export default { const stuId = row.stuId || this.ids getStudent(stuId).then(response => { this.form = response.data; - // var data = response.data; - // this.classVlue2 = [data.dept.deptId, data.srsMajors.majorId, data.srsClass.classId] - // console.log(this.classVlue2); + this.form.className = response.data.srsClass.className; + this.form.deptName = response.data.dept.deptName; + this.form.majorName = response.data.srsMajors.majorName; + this.form.mz = response.data.cphStuExtraInfo.mz; + this.form.zzmm = response.data.cphStuExtraInfo.zzmm; + this.form.jg = response.data.cphStuExtraInfo.jg; + this.form.xx = response.data.cphStuExtraInfo.xx; this.openDetail = true; }); }, diff --git a/src/views/poverty/poverty_examine.vue b/src/views/poverty/poverty_examine.vue index 10022b6..4c5c68f 100644 --- a/src/views/poverty/poverty_examine.vue +++ b/src/views/poverty/poverty_examine.vue @@ -1871,7 +1871,7 @@ export default { } this.doUpdateSignature(); - this.$tab.closePage(); + //this.$tab.closePage(); } }); @@ -1881,7 +1881,7 @@ export default { this.$modal.msgSuccess("保存成功"); this.user.signature = this.formData.xsqm; this.doUpdateSignature(); - this.$tab.closePage(); + //this.$tab.closePage(); } }); } diff --git a/src/views/poverty/povertyapply/jtjjkn.vue b/src/views/poverty/povertyapply/jtjjkn.vue index 0750b43..878464e 100644 --- a/src/views/poverty/povertyapply/jtjjkn.vue +++ b/src/views/poverty/povertyapply/jtjjkn.vue @@ -4,35 +4,36 @@
-

- {{"(" + formData.applyYear+")"}}广西水利电力职业技术学院家庭经济困难学生认定申请表 -

+

+ {{ "(" + formData.applyYear + ")" }}广西水利电力职业技术学院家庭经济困难学生认定申请表 +

- + - - - - + + + + - - + + - + - + - - + + - - + + - @@ -100,18 +101,19 @@ - - - - - - + + + + @@ -154,15 +156,14 @@ @@ -206,21 +207,21 @@ - @@ -228,7 +229,8 @@ @@ -238,7 +240,7 @@ - + - - + - - + + + + 元 + + + + - - - - - + + + + - - - - + + + + - - + + + - - - - - - - - - + + + + + + + + + - - - - - - + + + + + - + - + - - + + - + - - + + - + - + @@ -577,7 +577,8 @@ @@ -589,113 +590,106 @@ - -
+ +

广西水利电力职业技术学院

-

{{'(' + formData.applyYear +')家庭经济困难学生认定申请表'}}

+

{{ '(' + formData.applyYear + ')家庭经济困难学生认定申请表' }}

*学号 - - - - *姓名 - - - - *学号 + + + + *姓名 + + + + *性别 - - - - *性别 + + + +
*学院*学院 - - + + *年级 *年级 - + *班级 - +
*身份证号 - - - - *身份证号 + + + + *民族 - - - - - - - - *民族 + + + + + + + + *手机号 + - *家庭人口数 + - + *家庭成员在学人数 + - + @@ -119,31 +121,31 @@ - +
- *家庭成员失业人数 - - - - - - *全国学生资助系统、广西学生精准系统困难标签 - + + *家庭成员失业人数 + + + + + + *全国学生资助系统、广西学生精准系统困难标签 + - - - + + + -
*籍贯 - + *户籍所在地 + :disabled="formData.step > 2"> - 商品房 - 单位福利住房 - 自建房 - 租房、无房 - 其他 + 商品房 + 单位福利住房 + 自建房 + 租房、无房 + 其他 *家中有汽车情况 + - 自用 - 经营用 - 无汽车 + 自用 + 经营用 + 无汽车 *家长手机号码 - +
- @@ -251,43 +253,43 @@
家庭成员情况家庭成员情况
- + - + - + - + - + - + - + + --> -
+
编辑家庭成员
@@ -296,280 +298,278 @@
*家庭总收入(元) -
+
*家庭总收入(元) +
- - - - 元 -
-
*家庭人均年收入(元) -
- - - - 元 -
-
*家庭人均年收入(元) +
+ + + + 元 +
+
*家庭经济主要收入来源 - - - - - - - - - - - - - - - 其他收入说明 - - - +
*家庭经济主要收入来源 + + + + + + + + + + + + + + + 其他收入说明 + + + -
*学生父母丧失劳动能力或劳动能力弱(单位:人) - - - - +
*学生父母丧失劳动能力或劳动能力弱(单位:人) + + + + - *需赡养丧失劳动能力的共同生活家庭成员(单位:人) - - - - *需赡养丧失劳动能力的共同生活家庭成员(单位:人) + + + + *患病残疾人(单位:人) - - - - -
*突发事件 - - - - - - - - - - - 其他情况 - - *患病残疾人(单位:人) + + + + +
*突发事件 + + + + + + + + + + + 其他情况 + +
*具体时间、内容及涉及金额等情况 - - - -
*具体时间、内容及涉及金额等情况 + + + +
*申请理由 - - - - + + + +
个人承诺 -
本人承诺以上所填资料真实、准确,并同意授权相关部门通过信息核对,对所填资料进行查询、核对.如虚报资料,本人愿意承担相关责任.
- -
- - - 同意 - - - 不同意 - - -
-
-
- * 手写签字: - - - - -
+ + + -
{{formData.sqrqmrq}}
+
{{ formData.sqrqmrq }}
辅导员意见 -
* 经班级评议小组民主评议,认为该生(□符合 □不符合)家庭经济困难学生认定条件,推荐认定困难类型为:
- -
- - 特别困难 - - - 比较困难 - - - 一般困难 - - - 不困难 - -
-
-
- * 辅导员签字: - - - - 签名 - - -
-
{{formData.fdyqmrq}}
-
辅导员意见 +
* 经班级评议小组民主评议,认为该生(□符合 + □不符合)家庭经济困难学生认定条件,推荐认定困难类型为: +
+ +
+ + 特别困难 + + + 比较困难 + + + 一般困难 + + + 不困难 + +
+
+
+ * 辅导员签字: + + + + 签名 + + +
+
{{ formData.fdyqmrq }}
+
二级学院认定意见 -
* 经学院认定工作组审查,认为该生(□符合 □不符合)家庭经济困难学生认定条件;认定困难类型为:
- -
- - 特别困难 - - - 比较困难 - - - 一般困难 - - - 不困难 - -
-
-
- * 二级学院负责人签字: - - - - 签名 - - -
-
{{formData.ejxyldqmrq}}
-
(加盖二级学院公章)
-
二级学院认定意见 +
* 经学院认定工作组审查,认为该生(□符合 + □不符合)家庭经济困难学生认定条件;认定困难类型为:
+ +
+ + 特别困难 + + + 比较困难 + + + 一般困难 + + + 不困难 + +
+
+
+ * 二级学院负责人签字: + + + + 签名 + + +
+
{{ formData.ejxyldqmrq }}
+
(加盖二级学院公章)
+
学校审核意见 -
* 经学校学生资助工作领导小组审查,经5个工作日公示无异议,认定该生(□符合 □不符合)家庭经济困难学生认定条件,同意认定困难类型为:
+
+
* 经学校学生资助工作领导小组审查,经5个工作日公示无异议,认定该生(□符合 + □不符合)家庭经济困难学生认定条件,同意认定困难类型为:
-
+
- 特别困难 + 特别困难 - 比较困难 + 比较困难 - 一般困难 + 一般困难 - 不困难 + 不困难 -
+
- * 学校负责人签字: - - - - 签名 + * 学校负责人签字: + + + + 签名 - +
-
{{formData.xsqmrq}}
+
{{ formData.xsqmrq }}
(加盖学校公章)
-
困难佐证材料 - +
- - - - + + + + - - + + - - + + - - + + - - + + - - + + - - + - - + {{ formData.mz }} + + + + - - - - - - + + + + + + - + - - - - + + + + @@ -703,36 +697,36 @@ - - - - + + + + - - + @@ -740,34 +734,34 @@ - + - - - - + + + + - +   - - + + + + - - - - - - - - + + + + + + + - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + - - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - + +
学号 - {{formData.xh}} - 姓名 - {{formData.xm}} - 学号 + {{ formData.xh }} + 姓名 + {{ formData.xm }} + 性别 - {{formData.xb}} - 性别 + {{ formData.xb }} +
学院 - {{formData.xy}} - 学院 + {{ formData.xy }} + 年级 - {{formData.nj}} - 年级 + {{ formData.nj }} + 班级 - {{formData.bj}} - 班级 + {{ formData.bj }} +
身份证号 - {{formData.sfzhm}} - 身份证号 + {{ formData.sfzhm }} + 民族 - + 民族 + - {{formData.mz}} - - 手机号 - - {{formData.phone}} - - 手机号 + + {{ formData.phone }} + +
- 家庭人口数 - - {{formData.rkzs}} - - 家庭成员在学人数 - - {{formData.jtcyzxrs}} - - 赡养人数 - - {{formData.syrs}} - + 家庭人口数 + + {{ formData.rkzs }} + + 家庭成员在学人数 + + {{ formData.jtcyzxrs }} + + 赡养人数 + + {{ formData.syrs }} +
- 家庭成员失业人数 - - {{formData.jtcysyrs}} - - 全国,广西学生精准系统匹配后的困难类别数据 - - {{formData.knlx}} - + 家庭成员失业人数 + + {{ formData.jtcysyrs }} + + 全国,广西学生精准系统匹配后的困难类别数据 + + {{ formData.knlx }} +
籍贯 - {{formData.jg}} - 户籍所在地 - {{formData.hjszd}} - 籍贯 + {{ formData.jg }} + 户籍所在地 + {{ formData.hjszd }} +
家庭居住房产(住房)情况 - {{formData.jtjzfqk}} + {{ formData.jtjzfqk }} 家中有汽车情况 - {{formData.jtqcqk}} + + {{ formData.jtqcqk }} 家长手机号码 - {{formData.parentstel}} + {{ formData.parentstel }}
家庭居住现居住地址 - {{formData.jtxjzdz}} + {{ formData.jtxjzdz }}
家庭成员情况家庭成员情况
- + - + - + - + - + - + - + @@ -778,230 +772,232 @@
*家庭总收入(元) -
- {{income}} - 元 -
-
*家庭人均年收入(元) -
- {{capita}} - 元 -
-
*家庭总收入(元) +
+ {{ income }} + 元 +
+
*家庭人均年收入(元) +
+ {{ capita }} + 元 +
+
aaa
aaa
影响家庭经济状况信息
家庭经济主要收入来源 - {{formData.jtzysrStr}} - - 其他收入说明 + 影响家庭经济状况信息
家庭经济主要收入来源 + {{ formData.jtzysrStr }} + + 其他收入说明 - {{formData.jtzysr2}} + {{ formData.jtzysr2 }} -
学生父母丧失劳动能力或劳动能力弱(单位:人) - {{formData.ssldnl}} - 需赡养丧失劳动能力的共同生活家庭成员(单位:人) - {{formData.zyssldnl}} +
学生父母丧失劳动能力或劳动能力弱(单位:人) + {{ formData.ssldnl }} + 需赡养丧失劳动能力的共同生活家庭成员(单位:人) + {{ formData.zyssldnl }} - 患病残疾人(单位:人) - {{formData.hbcjr}} -
突发事件 - {{formData.tfsjStr}} - - 其他情况 - {{formData.tfsj3}} - 患病残疾人(单位:人) + {{ formData.hbcjr }} +
突发事件 + {{ formData.tfsjStr }} + + 其他情况 + {{ formData.tfsj3 }} + 具体时间、内容及涉及金额等情况 + 具体时间、内容及涉及金额等情况 - {{formData.tfsj2}} -
申请理由及个人承诺
申请理由 - - {{ - formData.sqly - }} - -
个人承诺 - 本人承诺以上所填资料真实、准确,并同意授权相关部门通过信息核对,对所填资料进行查询、核对. - 如虚报资料,本人愿意承担相关责任. -
个人签名 -
-
- 同意 -
-
- + +
申请理由及个人承诺
申请理由 + + {{ + formData.sqly + }} + +
个人承诺 + 本人承诺以上所填资料真实、准确,并同意授权相关部门通过信息核对,对所填资料进行查询、核对. + 如虚报资料,本人愿意承担相关责任. +
个人签名 +
+
+ 同意 +
+
+ - - 签名 + + 签名 - -
-
- {{formData.xm}} - + +
+
+ {{ formData.xm }} + +
+
{{ formData.stuTime }}
+
+
-
{{formData.stuTime}}
-
-
- -
班级意见 +
班级意见 -
-
- 经审查,本学年该同学 -
符合家庭经济困难学生认定条件,推荐认定困难类型为: - 特别困难 - 比较困难 - 一般困难 - 不困难 +
+
+ 经审查,本学年该同学 +
符合家庭经济困难学生认定条件,推荐认定困难类型为: + 特别困难 + 比较困难 + 一般困难 + 不困难 -
-
- +
+
+ - - 签名 + + 签名 - -
-
- {{formData.fdymc}} - + +
+
+ {{ formData.fdymc }} + +
+
{{ formData.fdyTime }}
+
+
-
{{formData.fdyTime}}
-
-
-
-
二级学院认定意见 -
-
- 经审查,本学年该同学 -
符合家庭经济困难学生认定条件,推荐认定困难类型为: - 特别困难 - 比较困难 - 一般困难 - 不困难 +
二级学院认定意见 +
+
+ 经审查,本学年该同学 +
符合家庭经济困难学生认定条件,推荐认定困难类型为: + 特别困难 + 比较困难 + 一般困难 + 不困难 -
-
- +
+
+ - - 签名 + + 签名 - -
-
- {{formData.ejxyldmc}} - + +
+
+ {{ formData.ejxyldmc }} + +
+
{{ formData.xsjTime }}
+
+
-
{{formData.xsjTime}}
-
-
- -
学校认定意见 -
-
- 经审查,本学年该同学 -
符合家庭经济困难学生认定条件,推荐认定困难类型为: - 特别困难 - 比较困难 - 一般困难 - 不困难 +
学校认定意见 +
+
+ 经审查,本学年该同学 +
符合家庭经济困难学生认定条件,推荐认定困难类型为: + 特别困难 + 比较困难 + 一般困难 + 不困难 -
-
- +
+
+ - - 签名 + + 签名 - -
-
- {{formData.xsmc}} - + +
+
+ {{ formData.xsmc }} + +
+
{{ formData.deptTime }}
+
+
-
{{formData.deptTime}}
-
-
- -
@@ -1009,38 +1005,40 @@
- + 取 消 - 打印 - + 打印 +
- 保存信息 - 保存信息 - 提交申请 + 保存信息 + 保存信息 + 提交申请 - 打印 + 打印 - 确认提交 - 确认提交 - 确认提交 - 驳回 + 确认提交 + 确认提交 + 确认提交 + 驳回 - 下一个 + 下一个
- 打印 + 打印
注:1.本表供学生根据需要申请家庭经济困难认定用,可复印.2.选择性项目必须填写.3.学校审核意见负责人签章(盖章):高等学校为校学生资助工作领导小组组长或学生资助中心主要负责人签章,加盖资助中心公章;其他学段学校为学校校长签章,加盖学校公章. - +
@@ -1049,69 +1047,69 @@
- -

+

撤回

-

+

保存

-

+

提交申请

-

+

辅导员审核: - 特别困难 - 比较困难 - 一般困难 - 不困难 - 驳回 + 特别困难 + 比较困难 + 一般困难 + 不困难 + 驳回 - - 原因:{{item.remark}} - + + 原因:{{ item.remark }} +

-

+

二级学院审核: - 特别困难 - 比较困难 - 一般困难 - 不困难 - 驳回 - - 原因:{{item.remark}} - + 特别困难 + 比较困难 + 一般困难 + 不困难 + 驳回 + + 原因:{{ item.remark }} +

-

+

学校审核: - 特别困难 - 比较困难 - 一般困难 - 不困难 - 驳回 - - 原因:{{item.remark}} - + 特别困难 + 比较困难 + 一般困难 + 不困难 + 驳回 + + 原因:{{ item.remark }} +

-

操作人:{{item.approver}}

+

操作人:{{ item.approver }}

@@ -1119,57 +1117,52 @@
- - - - - - - - - - - - - - - - - - - - - - - - - - -
- + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ - - - - + + + +
-
- - 取 消 - 确 定 - + + + 取 消 + 确 定 +
diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..7f746b0 --- /dev/null +++ b/vue.config.js @@ -0,0 +1,142 @@ +'use strict' +const path = require('path') + +function resolve(dir) { + return path.join(__dirname, dir) +} + +const CompressionPlugin = require('compression-webpack-plugin') + +const name = process.env.VUE_APP_TITLE || '学工系统' // 网页标题 + +const port = process.env.port || process.env.npm_config_port || 8080 // 端口 + +// vue.config.js 配置说明 +//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions +// 这里只列一部分,具体配置参考文档 +module.exports = { + // 部署生产环境和开发环境下的URL. + // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上 + // 例如 https://www.baidu.com/.如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径.例如,如果你的应用被部署在 https://www.baidu.com/admin/,则设置 baseUrl 为 /admin/. + publicPath: process.env.NODE_ENV === "production" ? "/srs/" : "/", + // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist) + outputDir: 'dist', + // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下) + assetsDir: 'static', + // 是否开启eslint保存检测,有效值:ture | false | 'error' + lintOnSave: process.env.NODE_ENV === 'development', + // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建. + productionSourceMap: false, + // webpack-dev-server 相关配置 + devServer: { + host: '0.0.0.0', + port: port, + open: true, + proxy: { + // detail: https://cli.vuejs.org/config/#devserver-proxy `http://124.70.202.11:8085` https://wap.wzzyhp.com + [process.env.VUE_APP_BASE_API]: { + // target: 'http://172.16.96.111:8585', //`http://zhxg.gxsdxy.cn`,`https://wap.wzzyhp.com`, http://localhost:8085 http://zhxgjava.gxsdxy.cn + target: 'http://localhost:8088',// `http://zhxg.gxsdxy.cn`,`https://wap.wzzyhp.com`, http://localhost:8085 http://zhxgjava.gxsdxy.cn + //target:`http://zhxg.gxsdxy.cn`, + changeOrigin: true, + pathRewrite: { + ['^' + process.env.VUE_APP_BASE_API]: '' + } + } + }, + disableHostCheck: true + }, + css: { + loaderOptions: { + sass: { + sassOptions: { outputStyle: "expanded" } + } + } + }, + configureWebpack: { + name: name, + resolve: { + alias: { + '@': resolve('src') + } + }, + plugins: [ + // http://doc.baidu.vip/baidu-vue/other/faq.html#使用gzip解压缩静态文件 + new CompressionPlugin({ + cache: false, // 不启用文件缓存 + test: /\.(js|css|html)?$/i, // 压缩文件格式 + filename: '[path].gz[query]', // 压缩后的文件名 + algorithm: 'gzip', // 使用gzip压缩 + minRatio: 0.8 // 压缩率小于1才会压缩 + }) + ], + externals: { + './cptable': 'var cptable' + } + }, + chainWebpack(config) { + config.plugins.delete('preload') // TODO: need test + config.plugins.delete('prefetch') // TODO: need test + config.plugins.delete('optimize-css') + + // set svg-sprite-loader + config.module + .rule('svg') + .exclude.add(resolve('src/assets/icons')) + .end() + config.module + .rule('icons') + .test(/\.svg$/) + .include.add(resolve('src/assets/icons')) + .end() + .use('svg-sprite-loader') + .loader('svg-sprite-loader') + .options({ + symbolId: 'icon-[name]' + }) + .end() + + config + .when(process.env.NODE_ENV !== 'development', + config => { + config + .plugin('ScriptExtHtmlWebpackPlugin') + .after('html') + .use('script-ext-html-webpack-plugin', [{ + // `runtime` must same as runtimeChunk name. default is `runtime` + inline: /runtime\..*\.js$/ + }]) + .end() + config + .optimization.splitChunks({ + chunks: 'all', + cacheGroups: { + libs: { + name: 'chunk-libs', + test: /[\\/]node_modules[\\/]/, + priority: 10, + chunks: 'initial' // only package third parties that are initially dependent + }, + elementUI: { + name: 'chunk-elementUI', // split elementUI into a single package + priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app + test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm + }, + commons: { + name: 'chunk-commons', + test: resolve('src/components'), // can customize your rules + minChunks: 3, // minimum common number + priority: 5, + reuseExistingChunk: true + } + } + }) + config.optimization.runtimeChunk('single'), + { + from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件 + to: './' //到根目录下 卓越的目标,成就卓越的成就. + } + } + ) + } +}