HW 4 gadi atpakaļ
vecāks
revīzija
690910cbb3

+ 2 - 1
.gitignore

@@ -27,6 +27,7 @@ build/Release
 node_modules
 clean.sh
 build
+.idea
 .project
 .vscode
-dll
+dll

+ 45 - 45
js/admin/index/content.jsx

@@ -50,50 +50,50 @@ import '@/account/content.less';
 const { Content } = Layout;
 
 export default class ContentRouter extends React.Component {
-  render() {
-    return (
-      <Content className="acc-content" id="content">
-        <Router history={hashHistory}>
-          <Route path="/library" component={DemandLibrary} />
-          <Route path="/examine" component={DemandExamine} />
-          <Route path="/tags" component={Tags} />
-          {/* <Route path="/index" component={AdmianIndex} /> */}
-          <Route path="/index" component={AdvertisementList} />
-          <Route path="/achievementLibrary" component={AchievementLibrary} />
-          <Route path="/achievementExamine" component={AchievementExamine} />
-          <Route path="/businessCategory" component={BusinessCategory} />
-          <Route path="/businessLibrary" component={BusinessLibrary} />
-          <Route path="/businessProject" component={BusinessProject} />
-          <Route path="/memberList" component={MemberList} />
-          <Route path="/memberPowerList" component={MemberPowerList} />
-          <Route path="/talentsList" component={TalentsList} />
-          <Route path="/buyList" component={BuyList} />
-          <Route path="/checkBuy" component={CheckBuy} />
-          <Route path="/newList" component={NewList} />
-          <Route path="/firmList" component={FirmList} />
-          <Route path="/activity" component={Activity} />
-          <Route path="/jzmList" component={JzmList} />
-          <Route path="/mcjList" component={McjList} />
-          <Route path="/caseList" component={CaseList} />
-          <Route path="/advertisementList" component={AdvertisementList} />
-          {/* 产品 */}
-          <Route path="/proservlist" component={Proservlist} />
-          <Route path="/customers" component={Customers} />
+    render() {
+        return (
+            <Content className="acc-content" id="content">
+                <Router history={hashHistory}>
+                    <Route path="/library" component={DemandLibrary} />
+                    <Route path="/examine" component={DemandExamine} />
+                    <Route path="/tags" component={Tags} />
+                    {/* <Route path="/index" component={AdmianIndex} /> */}
+                    <Route path="/index" component={AdvertisementList} />
+                    <Route path="/achievementLibrary" component={AchievementLibrary} />
+                    <Route path="/achievementExamine" component={AchievementExamine} />
+                    <Route path="/businessCategory" component={BusinessCategory} />
+                    <Route path="/businessLibrary" component={BusinessLibrary} />
+                    <Route path="/businessProject" component={BusinessProject} />
+                    <Route path="/memberList" component={MemberList} />
+                    <Route path="/memberPowerList" component={MemberPowerList} />
+                    <Route path="/talentsList" component={TalentsList} />
+                    <Route path="/buyList" component={BuyList} />
+                    <Route path="/checkBuy" component={CheckBuy} />
+                    <Route path="/newList" component={NewList} />
+                    <Route path="/firmList" component={FirmList} />
+                    <Route path="/activity" component={Activity} />
+                    <Route path="/jzmList" component={JzmList} />
+                    <Route path="/mcjList" component={McjList} />
+                    <Route path="/caseList" component={CaseList} />
+                    <Route path="/advertisementList" component={AdvertisementList} />
+                    {/* 产品 */}
+                    <Route path="/proservlist" component={Proservlist} />
+                    <Route path="/customers" component={Customers} />
 
-          <Route path="/userLibrary" component={UserLibrary} />
-          <Route path="/authLibrary" component={AuthLibrary} />
-          <Route path="/authExamine" component={AuthExamine} />
-          <Route path="/news" component={News} />
-          <Route path="/policy" component={Policy} />
-          <Route path="/order" component={Order} />
-          <Route path="/systemMessage" component={SystemMessage} />
-          <Route path="/systemMessageOut" component={SystemMessageOut} />
-          <Route path="/systemMessagePhoto" component={SystemMessagePhoto} />
-          <Route path="/banner" component={Banner} />
-          <Route path="/vouchers" component={Vouchers} />
-          <Route path="/coupon" component={Coupon} />
-        </Router>
-      </Content>
-    );
-  }
+                    <Route path="/userLibrary" component={UserLibrary} />
+                    <Route path="/authLibrary" component={AuthLibrary} />
+                    <Route path="/authExamine" component={AuthExamine} />
+                    <Route path="/news" component={News} />
+                    <Route path="/policy" component={Policy} />
+                    <Route path="/order" component={Order} />
+                    <Route path="/systemMessage" component={SystemMessage} />
+                    <Route path="/systemMessageOut" component={SystemMessageOut} />
+                    <Route path="/systemMessagePhoto" component={SystemMessagePhoto} />
+                    <Route path="/banner" component={Banner} />
+                    <Route path="/vouchers" component={Vouchers} />
+                    <Route path="/coupon" component={Coupon} />
+                </Router>
+            </Content>
+        );
+    }
 }

+ 44 - 44
js/admin/index/leftMenu.jsx

@@ -43,7 +43,7 @@ const LeftTab = React.createClass({
   },
   onOpenChange(openKeys) {
     const latestOpenKey = openKeys.find(
-      key => this.state.openKeys.indexOf(key) === -1
+        key => this.state.openKeys.indexOf(key) === -1
     );
     if (this.state.rootSubmenuKeys.indexOf(latestOpenKey) === -1) {
       this.setState({ openKeys });
@@ -56,7 +56,7 @@ const LeftTab = React.createClass({
   componentWillMount() {
     if (window.location.hash) {
       let current = window.location.hash.substr(2),
-        open = [];
+          open = [];
       if (!current.length) {
         window.location.hash = "index";
         this.setState({
@@ -89,55 +89,55 @@ const LeftTab = React.createClass({
   },
   render() {
     return (
-      <div>
-        <div className="acc-index">
-          {!this.state.switch && <img src={logo} alt="" />}
-          {!this.state.switch && (
-            <span>
+        <div>
+          <div className="acc-index">
+            {!this.state.switch && <img src={logo} alt="" />}
+            {!this.state.switch && (
+                <span>
               <a href={globalConfig.context + "/admin/index.html"}>
                 管理员中心
               </a>
             </span>
-          )}
-          {/* <Icon type={this.state.switch ? 'forward' : 'backward'} className="icon" onClick={this.iconFun} /> */}
-        </div>
-        <Menu
-          onClick={this.menuClick}
-          defaultOpenKeys={this.state.openKeys}
-          selectedKeys={[this.state.current]}
-          openKeys={this.state.openKeys}
-          onOpenChange={this.onOpenChange}
-          mode={this.state.switch ? "vertical" : "inline"}
-          theme="dark"
-          className="account-left"
-        >
-          {adminMenu.map(subMenu => {
-            if (subMenu.children && subMenu.children.length) {
-              return (
-                <SubMenu
-                  key={subMenu.url}
-                  title={
-                    <span>
+            )}
+            {/* <Icon type={this.state.switch ? 'forward' : 'backward'} className="icon" onClick={this.iconFun} /> */}
+          </div>
+          <Menu
+              onClick={this.menuClick}
+              defaultOpenKeys={this.state.openKeys}
+              selectedKeys={[this.state.current]}
+              openKeys={this.state.openKeys}
+              onOpenChange={this.onOpenChange}
+              mode={this.state.switch ? "vertical" : "inline"}
+              theme="dark"
+              className="account-left"
+          >
+            {adminMenu.map(subMenu => {
+              if (subMenu.children && subMenu.children.length) {
+                return (
+                    <SubMenu
+                        key={subMenu.url}
+                        title={
+                          <span>
                       <Icon type={subMenu.icon} />
-                      {!this.state.switch && <span>{subMenu.name}</span>}
+                            {!this.state.switch && <span>{subMenu.name}</span>}
                     </span>
-                  }
-                >
-                  {subMenu.children.map(menu => (
-                    <Menu.Item key={menu.url}>{menu.name}</Menu.Item>
-                  ))}
-                </SubMenu>
+                        }
+                    >
+                      {subMenu.children.map(menu => (
+                          <Menu.Item key={menu.url}>{menu.name}</Menu.Item>
+                      ))}
+                    </SubMenu>
+                );
+              }
+              return (
+                  <Menu.Item key={subMenu.url}>
+                    <Icon type={subMenu.icon} />
+                    <span className="nav-text">{subMenu.name}</span>
+                  </Menu.Item>
               );
-            }
-            return (
-              <Menu.Item key={subMenu.url}>
-                <Icon type={subMenu.icon} />
-                <span className="nav-text">{subMenu.name}</span>
-              </Menu.Item>
-            );
-          })}
-        </Menu>
-      </div>
+            })}
+          </Menu>
+        </div>
     );
   }
 });

+ 37 - 37
js/admin/menu.jsx

@@ -1,39 +1,39 @@
 module.exports = {
-  adminMenu: [
-    {
-      name: "广告系统",
-      url: "advertisementList",
-      icon: "database"
-    },
-    {
-      name: "新闻管理",
-      url: "firmList",
-      icon: "database"
-    },
-    {
-      name: "活动管理",
-      url: "activity",
-      icon: "database"
-    },
-    {
-      name: "客户服务",
-      url: "buyList",
-      icon: "database"
-    },
-    {
-      name: "招聘管理",
-      url: "talentsList",
-      icon: "database"
-    },
-    {
-      name: "战略合作",
-      url: "proservlist",
-      icon: "database"
-    },
-    {
-      name: "访问客户",
-      url: "customers",
-      icon: "database"
-    }
-  ]
+    adminMenu: [
+        {
+            name: "广告系统",
+            url: "advertisementList",
+            icon: "database"
+        },
+        {
+            name: "新闻管理",
+            url: "firmList",
+            icon: "database"
+        },
+        {
+            name: "活动管理",
+            url: "activity",
+            icon: "database"
+        },
+        {
+            name: "客户服务",
+            url: "buyList",
+            icon: "database"
+        },
+        {
+            name: "招聘管理",
+            url: "talentsList",
+            icon: "database"
+        },
+        {
+            name: "战略合作",
+            url: "proservlist",
+            icon: "database"
+        },
+        {
+            name: "访问客户",
+            url: "customers",
+            icon: "database"
+        }
+    ]
 };

+ 98 - 98
js/admin/topTab.jsx

@@ -32,27 +32,27 @@ const TopTab = React.createClass({
             loading: true
         })
         $.ajax({
-          method: "post",
-          dataType: "json",
-          url: globalConfig.context + "/api/admin/updateAdmin",
-          data: {
-            password: this.state.password,
-            usedPwd: this.state.usedPwd,
-          },
-          success: function(data) {
-            if(data.error && data.error.length) {
-                message.warning(data.error[0].message)
-            }else {
-                message.success("修改密码成功!")
-                this.onCancel()
-            }
-          }.bind(this)
+            method: "post",
+            dataType: "json",
+            url: globalConfig.context + "/api/admin/updateAdmin",
+            data: {
+                password: this.state.password,
+                usedPwd: this.state.usedPwd,
+            },
+            success: function(data) {
+                if(data.error && data.error.length) {
+                    message.warning(data.error[0].message)
+                }else {
+                    message.success("修改密码成功!")
+                    this.onCancel()
+                }
+            }.bind(this)
         }).always(
-          function() {
-            this.setState({
-              loading: false
-            });
-          }.bind(this)
+            function() {
+                this.setState({
+                    loading: false
+                });
+            }.bind(this)
         );
     },
     componentWillMount () {
@@ -87,96 +87,96 @@ const TopTab = React.createClass({
     render() {
         const FormItem = Form.Item;
         return (
-          <div className="account-top">
-            <div className="acc-top-user">
+            <div className="account-top">
+                <div className="acc-top-user">
               <span className="acc-top-user-name">
                 <a
-                  onClick={e => {
-                    e.stopPropagation();
-                    this.setState({ visible: true });
-                  }}
+                    onClick={e => {
+                        e.stopPropagation();
+                        this.setState({ visible: true });
+                    }}
                 >
                   欢迎您,{" "}
-                  {this.state.username || adminData.name || adminData.mobile}
+                    {this.state.username || adminData.name || adminData.mobile}
                 </a>{" "}
-                <a onClick={this.logOut}>[ 退出 ]</a>
+                  <a onClick={this.logOut}>[ 退出 ]</a>
               </span>
-              <span className="acc-top-title">科德官网内容管理</span>
-              <span className="acc-top-user-toindex">
+                    <span className="acc-top-title">科德官网内容管理</span>
+                    <span className="acc-top-user-toindex">
                 <a href={globalConfig.context + "/portal/index.html"}>
                   返回首页
                 </a>
               </span>
-            </div>
-            <Modal
-              className="customeDetails"
-              title="修改密码"
-              visible={this.state.visible}
-              onOk={this.changePwd}
-              width={"330px"}
-              onCancel={this.onCancel}
-            >
-              <Form
-                layout="horizontal"
-                onSubmit={this.edithandleSubmit}
-                id="demand-form"
-              >
-                <Spin spinning={this.state.loading}>
-                  <div className="clearfix">
-                    <FormItem
-                      className="half-item"
-                      labelCol={{ span: 8 }}
-                      wrapperCol={{ span: 12 }}
-                      label="账号"
-                    >
-                      <Input
-                        placeholder="请输入账号"
-                        value={window.adminData.account}
-                        disabled
-                        style={{ width: "150px" }}
-                      />
-                    </FormItem>
-                  </div>
-                  <div className="clearfix">
-                    <FormItem
-                      className="half-item"
-                      labelCol={{ span: 8 }}
-                      wrapperCol={{ span: 12 }}
-                      label="原密码"
-                    >
-                      <Input
-                        placeholder="请输入原密码"
-                        value={this.state.usedPwd}
-                        onChange={e => {
-                          this.setState({ usedPwd: e.target.value });
-                        }}
-                        style={{ width: "150px" }}
-                      />
-                    </FormItem>
-                  </div>
-                  <div className="clearfix">
-                    <FormItem
-                      className="half-item"
-                      labelCol={{ span: 8 }}
-                      wrapperCol={{ span: 12 }}
-                      label="新密码"
+                </div>
+                <Modal
+                    className="customeDetails"
+                    title="修改密码"
+                    visible={this.state.visible}
+                    onOk={this.changePwd}
+                    width={"330px"}
+                    onCancel={this.onCancel}
+                >
+                    <Form
+                        layout="horizontal"
+                        onSubmit={this.edithandleSubmit}
+                        id="demand-form"
                     >
-                      <Input
-                        placeholder="请输入新密码"
-                        value={this.state.password}
-                        onChange={e => {
-                          this.setState({ password: e.target.value });
-                        }}
-                        style={{ width: "150px" }}
-                      />
-                    </FormItem>
-                  </div>
-                </Spin>
-              </Form>
-            </Modal>
-          </div>
+                        <Spin spinning={this.state.loading}>
+                            <div className="clearfix">
+                                <FormItem
+                                    className="half-item"
+                                    labelCol={{ span: 8 }}
+                                    wrapperCol={{ span: 12 }}
+                                    label="账号"
+                                >
+                                    <Input
+                                        placeholder="请输入账号"
+                                        value={window.adminData.account}
+                                        disabled
+                                        style={{ width: "150px" }}
+                                    />
+                                </FormItem>
+                            </div>
+                            <div className="clearfix">
+                                <FormItem
+                                    className="half-item"
+                                    labelCol={{ span: 8 }}
+                                    wrapperCol={{ span: 12 }}
+                                    label="原密码"
+                                >
+                                    <Input
+                                        placeholder="请输入原密码"
+                                        value={this.state.usedPwd}
+                                        onChange={e => {
+                                            this.setState({ usedPwd: e.target.value });
+                                        }}
+                                        style={{ width: "150px" }}
+                                    />
+                                </FormItem>
+                            </div>
+                            <div className="clearfix">
+                                <FormItem
+                                    className="half-item"
+                                    labelCol={{ span: 8 }}
+                                    wrapperCol={{ span: 12 }}
+                                    label="新密码"
+                                >
+                                    <Input
+                                        placeholder="请输入新密码"
+                                        value={this.state.password}
+                                        onChange={e => {
+                                            this.setState({ password: e.target.value });
+                                        }}
+                                        style={{ width: "150px" }}
+                                    />
+                                </FormItem>
+                            </div>
+                        </Spin>
+                    </Form>
+                </Modal>
+            </div>
         );
     }
 });
 
-export default TopTab;
+export default TopTab;

+ 31 - 31
js/component/login/adminLogin.jsx

@@ -23,32 +23,32 @@ var Login = React.createClass({
                 loading: true
             });
             $.ajax({
-              method: "POST",
-              dataType: "json",
-              crossDomain: false,
-              url: globalConfig.context + "/adminLogin",
-              data: {
-                account: this.state.user,
-                password: this.state.password,
-              }
+                method: "POST",
+                dataType: "json",
+                crossDomain: false,
+                url: globalConfig.context + "/adminLogin",
+                data: {
+                    account: this.state.user,
+                    password: this.state.password,
+                }
             })
-              .done(
-                function(data) {
-                  if (!data.error.length) {
-                    window.location.href =
-                      globalConfig.context + "/admin/index";
-                  } else {
-                    message.warning(data.error[0].message);
-                  }
-                }.bind(this)
-              )
-              .always(
-                function() {
-                  this.setState({
-                    loading: false
-                  });
-                }.bind(this)
-              );
+                .done(
+                    function(data) {
+                        if (!data.error.length) {
+                            window.location.href =
+                                globalConfig.context + "/admin/index";
+                        } else {
+                            message.warning(data.error[0].message);
+                        }
+                    }.bind(this)
+                )
+                .always(
+                    function() {
+                        this.setState({
+                            loading: false
+                        });
+                    }.bind(this)
+                );
         };
     },
 
@@ -74,16 +74,16 @@ var Login = React.createClass({
                 <Spin spinning={this.state.loading} className='spin-box'>
                     <div className="user-box">
                         <Input onChange={this.getUser}
-                            onKeyDown={this.keyboard} placeholder="账号" value={this.state.user}
-                            addonBefore={<Icon type="user" />} />
+                               onKeyDown={this.keyboard} placeholder="账号" value={this.state.user}
+                               addonBefore={<Icon type="user" />} />
                     </div>
                     <div className="pw-box">
                         <Input onChange={this.getPassword}
-                            onKeyDown={this.keyboard} type="password" placeholder="密码" value={this.state.password}
-                            addonBefore={<Icon type="lock" />}
+                               onKeyDown={this.keyboard} type="password" placeholder="密码" value={this.state.password}
+                               addonBefore={<Icon type="lock" />}
                         />
                     </div>
-                    
+
                     <Button type="primary" onClick={this.handleSubmit}>登录</Button>
                 </Spin>
 
@@ -92,4 +92,4 @@ var Login = React.createClass({
     }
 });
 
-export default Login;
+export default Login;

+ 47 - 47
webpack-dll.config.js

@@ -6,11 +6,11 @@ const version = require('./package.json').version;
 const argv = require('yargs').argv;
 
 let theme = {
-  '@primary-color': '#58a3ff',
-  '@link-color': '#58a3ff'
+    '@primary-color': '#58a3ff',
+    '@link-color': '#58a3ff'
 };
 module.exports = (function () {
-	let staticHost = 'http://172.16.0.254';
+    let staticHost = 'http://172.16.0.254';
     switch (argv.env.deploy) {
         case 'test':
             staticHost = 'http://statics.jishutao.com';
@@ -21,51 +21,51 @@ module.exports = (function () {
         default:
             break;
     }
-	staticHost = staticHost + '/client/' + version + '/';
-	theme['@icon-url'] = '"' + staticHost + 'css/iconfont/iconfont"'
-  var dllContext = path.resolve(dirVars.dllDir, './' + argv.env.deploy);
-  return {
-    output: {
-      path: dllContext,
-      filename: '[name].js',
-      library: '[name]', // 当前Dll的所有内容都会存放在这个参数指定变量名的一个全局变量下,注意与DllPlugin的name参数保持一致
-    },
-    entry: {
-      dll: [
-        'react', 'react-dom', 'antd', 'jquery/src/ajax/xhr.js', 'jquery/src/ajax', 'antd/lib/style'
-      ],
-    },
-    plugins: [
-      new webpack.DllPlugin({
-        path: path.resolve(dllContext, 'manifest.json'),
-        name: '[name]',
-        context: dirVars.staticRootDir,
-        /*
-         当前Dll的所有内容都会存放在这个参数指定变量名的一个全局变量下,注意与参数output.library保持一致
-         指定一个路径作为上下文环境,需要与DllReferencePlugin的context参数保持一致,建议统一设置为项目根目录
-        这个配置文件的含义是指将enty中的dll[]中的内容 打包进react.dll.js这个文件中
-        */
-      }),
-      new ExtractTextPlugin({
-        filename: "[name].css",
-        disable: false,
-        allChunks: true
-      }), // 打包css/less的时候会用到ExtractTextPlugin
-      new webpack.optimize.UglifyJsPlugin({
-        minimize: true,
-        compress: {
-          warnings: false,
+    staticHost = staticHost + '/client/' + version + '/';
+    theme['@icon-url'] = '"' + staticHost + 'css/iconfont/iconfont"'
+    var dllContext = path.resolve(dirVars.dllDir, './' + argv.env.deploy);
+    return {
+        output: {
+            path: dllContext,
+            filename: '[name].js',
+            library: '[name]', // 当前Dll的所有内容都会存放在这个参数指定变量名的一个全局变量下,注意与DllPlugin的name参数保持一致
         },
-      }),
-      new webpack.DefinePlugin({
-        "process.env": {
-            NODE_ENV: JSON.stringify("production")
+        entry: {
+            dll: [
+                'react', 'react-dom', 'antd', 'jquery/src/ajax/xhr.js', 'jquery/src/ajax', 'antd/lib/style'
+            ],
+        },
+        plugins: [
+            new webpack.DllPlugin({
+                path: path.resolve(dllContext, 'manifest.json'),
+                name: '[name]',
+                context: dirVars.staticRootDir,
+                /*
+                 当前Dll的所有内容都会存放在这个参数指定变量名的一个全局变量下,注意与参数output.library保持一致
+                 指定一个路径作为上下文环境,需要与DllReferencePlugin的context参数保持一致,建议统一设置为项目根目录
+                这个配置文件的含义是指将enty中的dll[]中的内容 打包进react.dll.js这个文件中
+                */
+            }),
+            new ExtractTextPlugin({
+                filename: "[name].css",
+                disable: false,
+                allChunks: true
+            }), // 打包css/less的时候会用到ExtractTextPlugin
+            new webpack.optimize.UglifyJsPlugin({
+                minimize: true,
+                compress: {
+                    warnings: false,
+                },
+            }),
+            new webpack.DefinePlugin({
+                "process.env": {
+                    NODE_ENV: JSON.stringify("production")
+                }
+            })
+        ],
+        module: require('./webpack/module.config.js')(theme),
+        resolve: {
+            extensions: ['.js', '.jsx']
         }
-      })
-    ],
-    module: require('./webpack/module.config.js')(theme),
-    resolve: {
-      extensions: ['.js', '.jsx']
     }
-  }
 })();

+ 23 - 23
webpack.config.js

@@ -41,32 +41,32 @@ module.exports = (function () {
         new webpack.DefinePlugin({
             jumpUrl: `'${jumlApi}'`,
         }),
-       //把入口文件里面的数组打包成verdors.js
-       new webpack.optimize.CommonsChunkPlugin({
+        //把入口文件里面的数组打包成verdors.js
+        new webpack.optimize.CommonsChunkPlugin({
             name: 'vendors'
-       }),
-       /* 配置好Dll */
-       new webpack.DllReferencePlugin({
-           context: dirVars.staticRootDir, // 指定一个路径作为上下文环境,需要与DllPlugin的context参数保持一致,建议统一设置为项目根目录
-           manifest: require('./dll/'+argv.env.deploy+'/manifest.json') // 指定manifest.json
-       }),
-	   // 把dll文件复制到打包后的文件中
-		new CopyWebpackPlugin([
-		    {
-		      from: path.resolve('./dll/'+argv.env.deploy),
-		      to: (__dirname, './dll/'),
-		      ignore: ['.*']
-		    }
-		]),
-		// 将 dll.js 插入HTML里
-		new HtmlWebpackIncludeAssetsPlugin({
-		    assets: [(__dirname, 'dll/dll.js'),(__dirname, 'dll/dll.css')],
-		    append: false
+        }),
+        /* 配置好Dll */
+        new webpack.DllReferencePlugin({
+            context: dirVars.staticRootDir, // 指定一个路径作为上下文环境,需要与DllPlugin的context参数保持一致,建议统一设置为项目根目录
+            manifest: require('./dll/'+argv.env.deploy+'/manifest.json') // 指定manifest.json
+        }),
+        // 把dll文件复制到打包后的文件中
+        new CopyWebpackPlugin([
+            {
+                from: path.resolve('./dll/'+argv.env.deploy),
+                to: (__dirname, './dll/'),
+                ignore: ['.*']
+            }
+        ]),
+        // 将 dll.js 插入HTML里
+        new HtmlWebpackIncludeAssetsPlugin({
+            assets: [(__dirname, 'dll/dll.js'),(__dirname, 'dll/dll.css')],
+            append: false
         }),
         //使用时被配置的文件,将不再需要import和require进行引入,直接使用即可
         new webpack.ProvidePlugin({
-			$: 'jquery',
-			React:'react',
+            $: 'jquery',
+            React:'react',
             Mock:'mockjs'
         }),
         //extract-text-webpack-plugin该插件的主要是为了抽离css样式,防止将样式打包在js中引起页面样式加载错乱的现象;
@@ -158,7 +158,7 @@ module.exports = (function () {
         },
         module: require('./webpack/module.config.js')(theme),
         resolve: {
-        	alias:{
+            alias:{
                 '@':__dirname+'/js/component',
                 'img':__dirname+'/image',
                 'css':__dirname+'/css',