diff --git a/application/admin/command/Min.php b/application/admin/command/Min.php new file mode 100644 index 0000000..c950d5b --- /dev/null +++ b/application/admin/command/Min.php @@ -0,0 +1,151 @@ +<?php + +namespace app\admin\command; + +use think\console\Command; +use think\console\Input; +use think\console\input\Option; +use think\console\Output; +use think\Exception; + +class Min extends Command +{ + + /** + * 路径和文件名配置 + */ + protected $options = [ + 'cssBaseUrl' => 'public/assets/css/', + 'cssBaseName' => '{module}', + 'jsBaseUrl' => 'public/assets/js/', + 'jsBaseName' => 'require-{module}', + ]; + + protected function configure() + { + $this + ->setName('min') + ->addOption('module', 'm', Option::VALUE_REQUIRED, 'module name(frontend or backend),use \'all\' when build all modules', null) + ->addOption('resource', 'r', Option::VALUE_REQUIRED, 'resource name(js or css),use \'all\' when build all resources', null) + ->setDescription('Compress js and css file'); + } + + protected function execute(Input $input, Output $output) + { + $module = $input->getOption('module') ? : ''; + $resource = $input->getOption('resource') ? : ''; + + if (!$module || !in_array($module, ['frontend', 'backend', 'all'])) + { + throw new Exception('Please input correct module name'); + } + if (!$resource || !in_array($resource, ['js', 'css', 'all'])) + { + throw new Exception('Please input correct resource name'); + } + + $moduleArr = $module == 'all' ? ['frontend', 'backend'] : [$module]; + $resourceArr = $resource == 'all' ? ['js', 'css'] : [$resource]; + + $minPath = __DIR__ . DS . 'Min' . DS; + $publicPath = ROOT_PATH . 'public' . DS; + $tempFile = $minPath . 'temp.js'; + + try + { + $nodeExec = exec("which node"); + if (!$nodeExec) + { + throw new Exception("node environment not found!please install node first!"); + } + } + catch (Exception $e) + { + throw new Exception($e->getMessage()); + } + + foreach ($moduleArr as $mod) + { + foreach ($resourceArr as $res) + { + $data = [ + 'publicPath' => $publicPath, + 'jsBaseName' => str_replace('{module}', $mod, $this->options['jsBaseName']), + 'jsBaseUrl' => $this->options['jsBaseUrl'], + 'cssBaseName' => str_replace('{module}', $mod, $this->options['cssBaseName']), + 'cssBaseUrl' => $this->options['cssBaseUrl'], + 'jsBasePath' => ROOT_PATH . $this->options['jsBaseUrl'], + 'cssBasePath' => ROOT_PATH . $this->options['cssBaseUrl'], + 'ds' => DS, + ]; + + //源文件 + $from = $data["{$res}BasePath"] . $data["{$res}BaseName"] . '.' . $res; + if (!is_file($from)) + { + $output->error("{$res} source file not found!file:{$from}"); + continue; + } + if ($res == "js") + { + $content = file_get_contents($from); + preg_match("/require\.config\(\{[\n]+(.*?)\n\}\);/is", $content, $matches); + if (!isset($matches[1])) + { + $output->error("js config not found!"); + continue; + } + $config = preg_replace("/(urlArgs|baseUrl):(.*)\n/", '', $matches[1]); + $data['config'] = $config; + } + // 生成压缩文件 + $this->writeToFile($res, $data, $tempFile); + + $output->info("Compress " . $data["{$res}BaseName"] . ".{$res}"); + + // 执行压缩 + echo exec("{$nodeExec} {$minPath}r.js -o {$tempFile} >> {$minPath}node.log"); + } + } + + @unlink($tempFile); + + $output->info("Build Successed!"); + } + + /** + * 写入到文件 + * @param string $name + * @param array $data + * @param string $pathname + * @return mixed + */ + protected function writeToFile($name, $data, $pathname) + { + $search = $replace = []; + foreach ($data as $k => $v) + { + $search[] = "{%{$k}%}"; + $replace[] = $v; + } + $stub = file_get_contents($this->getStub($name)); + $content = str_replace($search, $replace, $stub); + + if (!is_dir(dirname($pathname))) + { + mkdir(strtolower(dirname($pathname)), 0755, true); + } + return file_put_contents($pathname, $content); + } + + /** + * 获取基础模板 + * @param string $name + * @return string + */ + protected function getStub($name) + { + return __DIR__ . '/Min/stubs/' . $name . '.stub'; + } + +} diff --git a/public/assets/build/r.js b/application/admin/command/Min/r.js index e6c31b8..e6c31b8 100644 --- a/public/assets/build/r.js +++ b/application/admin/command/Min/r.js diff --git a/application/admin/command/Min/stubs/css.stub b/application/admin/command/Min/stubs/css.stub new file mode 100644 index 0000000..e2cafa3 --- /dev/null +++ b/application/admin/command/Min/stubs/css.stub @@ -0,0 +1,5 @@ +({ + cssIn: "{%cssBasePath%}{%cssBaseName%}.css", + out: "{%cssBasePath%}{%cssBaseName%}.min.css", + optimizeCss: "default" +}) \ No newline at end of file diff --git a/application/admin/command/Min/stubs/js.stub b/application/admin/command/Min/stubs/js.stub new file mode 100644 index 0000000..7f57310 --- /dev/null +++ b/application/admin/command/Min/stubs/js.stub @@ -0,0 +1,10 @@ +({ + {%config%} + , + optimizeCss: "standard", + optimize: "none", + removeCombined: false, + baseUrl: "{%jsBasePath%}", //JS文件所在的基础目录 + name: "{%jsBaseName%}", //来源文件,不包含后缀 + out: "{%jsBasePath%}{%jsBaseName%}.min.js" //目标文件 +}); \ No newline at end of file diff --git a/application/admin/controller/Dashboard.php b/application/admin/controller/Dashboard.php index 914482d..7017b75 100644 --- a/application/admin/controller/Dashboard.php +++ b/application/admin/controller/Dashboard.php @@ -27,7 +27,7 @@ class Dashboard extends Backend $paylist[$day] = mt_rand(1, mt_rand(1, $createlist[$day])); } $this->view->assign([ - 'totaluser' => 3500, + 'totaluser' => 35200, 'totalviews' => 219390, 'totalorder' => 32143, 'totalorderamount' => 174800, diff --git a/application/admin/view/common/meta.html b/application/admin/view/common/meta.html index fa46ef8..be31fb4 100644 --- a/application/admin/view/common/meta.html +++ b/application/admin/view/common/meta.html @@ -4,7 +4,7 @@ <link rel="shortcut icon" href="__CDN__/assets/img/favicon.ico" /> <!-- Loading Bootstrap --> -<link href="__CDN__/assets/{$Think.config.app_debug?'build/backend':'css/backend.min'}.css?v={$Think.config.site.version}" rel="stylesheet"> +<link href="__CDN__/assets/css/backend{$Think.config.app_debug?'':'.min'}.css?v={$Think.config.site.version}" rel="stylesheet"> <!-- HTML5 shim, for IE6-8 support of HTML5 elements. All other JS at the end of file. --> <!--[if lt IE 9]> diff --git a/application/command.php b/application/command.php index e5a0dad..da724a9 100755 --- a/application/command.php +++ b/application/command.php @@ -14,4 +14,5 @@ return [ 'app\admin\command\Crud', 'app\admin\command\Menu', 'app\admin\command\Install', + 'app\admin\command\Min', ]; diff --git a/application/common/model/Category.php b/application/common/model/Category.php index 3de43e2..30e949c 100644 --- a/application/common/model/Category.php +++ b/application/common/model/Category.php @@ -1,5 +1,7 @@ <?php +namespace app\common\model; + use think\Model; /** diff --git a/application/index/view/layout/bootstrap.html b/application/index/view/layout/bootstrap.html index 76da81f..50781c8 100644 --- a/application/index/view/layout/bootstrap.html +++ b/application/index/view/layout/bootstrap.html @@ -7,7 +7,7 @@ <meta name="description" content="基于ThinkPHP5和Bootstrap的极速后台开发系统"> <link rel="shortcut icon" href="__CDN__/assets/img/favicon.ico" /> <!-- Loading Bootstrap --> - <link href="__CDN__/assets/{$Think.config.app_debug?'build/frontend':'css/frontend.min'}.css?v={$Think.config.site.version}" rel="stylesheet"> + <link href="__CDN__/assets/css/frontend{$Think.config.app_debug?'':'.min'}.css?v={$Think.config.site.version}" rel="stylesheet"> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!--[if lt IE 9]> diff --git a/public/assets/build/build-backend-css.js b/public/assets/build/build-backend-css.js deleted file mode 100644 index acd3a82..0000000 --- a/public/assets/build/build-backend-css.js +++ /dev/null @@ -1,5 +0,0 @@ -({ - cssIn: 'backend.css', - out: '../css/backend.min.css', - optimizeCss: 'default' -}) \ No newline at end of file diff --git a/public/assets/build/build-backend.js b/public/assets/build/build-backend.js deleted file mode 100644 index 33e0674..0000000 --- a/public/assets/build/build-backend.js +++ /dev/null @@ -1,139 +0,0 @@ -({ - baseUrl: '../js', - optimizeCss: 'standard', - optimize: 'none', - removeCombined: false, - name: "require-backend", - include: ['css', 'layer', 'toastr', 'backend', 'table', 'form', 'dragsort', 'drag', 'drop', 'addtabs'], - out: "../js/require-backend.min.js", - packages: [{ - name: 'moment', - location: '../libs/moment', - main: 'moment' - }], - paths: { - 'lang': "empty:", - 'config': 'require-config', - 'bootstrap-checkbox': 'bootstrap-checkbox', - 'bootstrap-radio': 'bootstrap-radio', - 'bootstrap-switch': 'bootstrap-switch', - 'form': 'require-form', - 'table': 'require-table', - 'upload': 'require-upload', - 'drag': 'jquery.drag.min', - 'drop': 'jquery.drop.min', - 'echarts-theme': 'echarts-theme', - 'adminlte': 'adminlte', - // - // 以下的包从bower的libs目录加载 - 'jquery': '../libs/jquery/dist/jquery.min', - 'bootstrap': '../libs/bootstrap/dist/js/bootstrap.min', - 'bootstrap-validator': '../libs/bootstrap-validator/dist/validator.min', - 'bootstrap-typeahead': '../libs/bootstrap3-typeahead/bootstrap3-typeahead.min', - 'bootstrap-tagsinput': '../libs/bootstrap-tagsinput/dist/bootstrap-tagsinput.min', - 'bootstrap-dialog': '../libs/bootstrap3-dialog/dist/js/bootstrap-dialog.min', - 'bootstrap-datetimepicker': '../libs/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min', - 'bootstrap-select': '../libs/bootstrap-select/dist/js/bootstrap-select.min', - 'bootstrap-table': '../libs/bootstrap-table/dist/bootstrap-table.min', - 'bootstrap-table-export': '../libs/bootstrap-table/dist/extensions/export/bootstrap-table-export.min', - 'bootstrap-table-mobile': '../libs/bootstrap-table/dist/extensions/mobile/bootstrap-table-mobile', - 'bootstrap-table-advancedsearch': 'bootstrap-table-advancedsearch', - 'bootstrap-table-lang': '../libs/bootstrap-table/dist/locale/bootstrap-table-zh-CN', - 'typeahead': '../libs/typeahead.js/dist/typeahead.jquery.min', - 'bloodhound': '../libs/typeahead.js/dist/bloodhound.min', - 'tableexport': '../libs/tableExport.jquery.plugin/tableExport.min', - 'dropzone': '../libs/dropzone/dist/min/dropzone-amd-module.min', - 'less': '../libs/less/dist/less.min', - 'dragsort': '../libs/dragsort/jquery.dragsort', - 'sortable': '../libs/Sortable/Sortable.min', - 'addtabs': '../libs/jquery-addtabs/jquery.addtabs', - 'slimscroll': '../libs/jquery-slimscroll/jquery.slimscroll', - 'crontab': '../libs/jqcron/src/jqCron.cn', - 'summernote': '../libs/summernote/dist/lang/summernote-zh-CN.min', - 'validator': '../libs/nice-validator/dist/local/zh-CN', - 'plupload': '../libs/plupload/js/plupload.min', - 'toastr': '../libs/toastr/toastr', - 'jstree': '../libs/jstree/dist/jstree.min', - 'layer': '../libs/layer/src/layer', - 'echarts': '../libs/echarts/dist/echarts.min', - 'cookie': '../libs/jquery.cookie/jquery.cookie', - 'template': '../libs/art-template/dist/template-native', - }, - // shim依赖配置 - shim: { - 'bootstrap': ['jquery'], - 'bootstrap-table': { - deps: ['bootstrap', 'css!../libs/bootstrap-table/dist/bootstrap-table.min.css'], - exports: '$.fn.bootstrapTable' - }, - 'bootstrap-table-lang': { - deps: ['bootstrap-table'], - exports: '$.fn.bootstrapTable.defaults' - }, - 'bootstrap-table-export': { - deps: ['bootstrap-table', 'tableexport'], - exports: '$.fn.bootstrapTable.defaults' - }, - 'bootstrap-table-mobile': { - deps: ['bootstrap-table'], - exports: '$.fn.bootstrapTable.defaults' - }, - 'bootstrap-table-advancedsearch': { - deps: ['bootstrap-table'], - exports: '$.fn.bootstrapTable.defaults' - }, - 'tableexport': { - deps: ['jquery'], - exports: '$.fn.extend' - }, - 'slimscroll': { - deps: ['jquery'], - exports: '$.fn.extend' - }, - 'adminlte': { - deps: ['bootstrap', 'slimscroll'], - exports: '$.AdminLTE' - }, - 'typeahead': { - deps: ['jquery'], - init: function ($) { - return require.s.contexts._.registry['typeahead.js'].factory($); - } - }, - 'crontab': ['../libs/jqcron/src/jqCron', 'css!../libs/jqcron/src/jqCron.css'], - 'bootstrap-checkbox': ['jquery'], - 'bootstrap-radio': ['jquery'], - 'bootstrap-switch': ['jquery'], - 'bootstrap-dialog': ['css!../libs/bootstrap3-dialog/dist/css/bootstrap-dialog.min.css'], - 'bootstrap-datetimepicker': [ - 'css!../libs/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css', - 'moment/locale/zh-cn' - ], - 'bootstrap-tagsinput': [ - 'css!../libs/bootstrap-tagsinput/dist/bootstrap-tagsinput-typeahead.css', - 'css!../libs/bootstrap-tagsinput/dist/bootstrap-tagsinput.css', - 'jquery', - 'typeahead' - ], - 'bootstrap-select': ['css!../libs/bootstrap-select/dist/css/bootstrap-select.min.css', ], - 'summernote': ['../libs/summernote/dist/summernote.min', 'css!../libs/summernote/dist/summernote.css'], -// 'toastr': ['css!../libs/toastr/toastr.min.css'], - 'jstree': ['css!../libs/jstree/dist/themes/default/style.css', ], - 'plupload': { - deps: [ - '../libs/plupload/js/moxie.min' - ], - exports: "plupload" - }, -// 'layer': ['css!../libs/layer/build/skin/default/layer.css'], - validator: { - deps: ['../libs/nice-validator/dist/jquery.validator', 'css!../libs/nice-validator/dist/jquery.validator.css'] - } - }, - map: { - '*': { - 'css': '../libs/require-css/css.min' - } - }, - charset: 'utf-8' // 文件编码 -}); \ No newline at end of file diff --git a/public/assets/build/build-frontend-css.js b/public/assets/build/build-frontend-css.js deleted file mode 100644 index 0e012ac..0000000 --- a/public/assets/build/build-frontend-css.js +++ /dev/null @@ -1,5 +0,0 @@ -({ - cssIn: 'frontend.css', - out: '../css/frontend.min.css', - optimizeCss: 'default' -}) \ No newline at end of file diff --git a/public/assets/build/build-frontend.js b/public/assets/build/build-frontend.js deleted file mode 100644 index 56ed7f2..0000000 --- a/public/assets/build/build-frontend.js +++ /dev/null @@ -1,139 +0,0 @@ -({ - baseUrl: '../js', - optimizeCss: 'standard', - optimize: 'none', - removeCombined: false, - name: "require-frontend", - include: ['css', 'layer', 'toastr', 'frontend'], - out: "../js/require-frontend.min.js", - packages: [{ - name: 'moment', - location: '../libs/moment', - main: 'moment' - }], - paths: { - 'lang': "empty:", - 'config': 'require-config', - 'bootstrap-checkbox': 'bootstrap-checkbox', - 'bootstrap-radio': 'bootstrap-radio', - 'bootstrap-switch': 'bootstrap-switch', - 'form': 'require-form', - 'table': 'require-table', - 'upload': 'require-upload', - 'drag': 'jquery.drag.min', - 'drop': 'jquery.drop.min', - 'echarts-theme': 'echarts-theme', - 'adminlte': 'adminlte', - // - // 以下的包从bower的libs目录加载 - 'jquery': '../libs/jquery/dist/jquery.min', - 'bootstrap': '../libs/bootstrap/dist/js/bootstrap.min', - 'bootstrap-validator': '../libs/bootstrap-validator/dist/validator.min', - 'bootstrap-typeahead': '../libs/bootstrap3-typeahead/bootstrap3-typeahead.min', - 'bootstrap-tagsinput': '../libs/bootstrap-tagsinput/dist/bootstrap-tagsinput.min', - 'bootstrap-dialog': '../libs/bootstrap3-dialog/dist/js/bootstrap-dialog.min', - 'bootstrap-datetimepicker': '../libs/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min', - 'bootstrap-select': '../libs/bootstrap-select/dist/js/bootstrap-select.min', - 'bootstrap-table': '../libs/bootstrap-table/dist/bootstrap-table.min', - 'bootstrap-table-export': '../libs/bootstrap-table/dist/extensions/export/bootstrap-table-export.min', - 'bootstrap-table-mobile': '../libs/bootstrap-table/dist/extensions/mobile/bootstrap-table-mobile', - 'bootstrap-table-advancedsearch': 'bootstrap-table-advancedsearch', - 'bootstrap-table-lang': '../libs/bootstrap-table/dist/locale/bootstrap-table-zh-CN', - 'typeahead': '../libs/typeahead.js/dist/typeahead.jquery.min', - 'bloodhound': '../libs/typeahead.js/dist/bloodhound.min', - 'tableexport': '../libs/tableExport.jquery.plugin/tableExport.min', - 'dropzone': '../libs/dropzone/dist/min/dropzone-amd-module.min', - 'less': '../libs/less/dist/less.min', - 'dragsort': '../libs/dragsort/jquery.dragsort', - 'sortable': '../libs/Sortable/Sortable.min', - 'addtabs': '../libs/jquery-addtabs/jquery.addtabs', - 'slimscroll': '../libs/jquery-slimscroll/jquery.slimscroll', - 'crontab': '../libs/jqcron/src/jqCron.cn', - 'summernote': '../libs/summernote/dist/lang/summernote-zh-CN.min', - 'validator': '../libs/nice-validator/dist/local/zh-CN', - 'plupload': '../libs/plupload/js/plupload.min', - 'toastr': '../libs/toastr/toastr', - 'jstree': '../libs/jstree/dist/jstree.min', - 'layer': '../libs/layer/src/layer', - 'echarts': '../libs/echarts/dist/echarts.min', - 'cookie': '../libs/jquery.cookie/jquery.cookie', - 'template': '../libs/art-template/dist/template-native', - }, - // shim依赖配置 - shim: { - 'bootstrap': ['jquery'], - 'bootstrap-table': { - deps: ['bootstrap', 'css!../libs/bootstrap-table/dist/bootstrap-table.min.css'], - exports: '$.fn.bootstrapTable' - }, - 'bootstrap-table-lang': { - deps: ['bootstrap-table'], - exports: '$.fn.bootstrapTable.defaults' - }, - 'bootstrap-table-export': { - deps: ['bootstrap-table', 'tableexport'], - exports: '$.fn.bootstrapTable.defaults' - }, - 'bootstrap-table-mobile': { - deps: ['bootstrap-table'], - exports: '$.fn.bootstrapTable.defaults' - }, - 'bootstrap-table-advancedsearch': { - deps: ['bootstrap-table'], - exports: '$.fn.bootstrapTable.defaults' - }, - 'tableexport': { - deps: ['jquery'], - exports: '$.fn.extend' - }, - 'slimscroll': { - deps: ['jquery'], - exports: '$.fn.extend' - }, - 'adminlte': { - deps: ['bootstrap', 'slimscroll'], - exports: '$.AdminLTE' - }, - 'typeahead': { - deps: ['jquery'], - init: function ($) { - return require.s.contexts._.registry['typeahead.js'].factory($); - } - }, - 'crontab': ['../libs/jqcron/src/jqCron', 'css!../libs/jqcron/src/jqCron.css'], - 'bootstrap-checkbox': ['jquery'], - 'bootstrap-radio': ['jquery'], - 'bootstrap-switch': ['jquery'], - 'bootstrap-dialog': ['css!../libs/bootstrap3-dialog/dist/css/bootstrap-dialog.min.css'], - 'bootstrap-datetimepicker': [ - 'css!../libs/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css', - 'moment/locale/zh-cn' - ], - 'bootstrap-tagsinput': [ - 'css!../libs/bootstrap-tagsinput/dist/bootstrap-tagsinput-typeahead.css', - 'css!../libs/bootstrap-tagsinput/dist/bootstrap-tagsinput.css', - 'jquery', - 'typeahead' - ], - 'bootstrap-select': ['css!../libs/bootstrap-select/dist/css/bootstrap-select.min.css', ], - 'summernote': ['../libs/summernote/dist/summernote.min', 'css!../libs/summernote/dist/summernote.css'], -// 'toastr': ['css!../libs/toastr/toastr.min.css'], - 'jstree': ['css!../libs/jstree/dist/themes/default/style.css', ], - 'plupload': { - deps: [ - '../libs/plupload/js/moxie.min' - ], - exports: "plupload" - }, -// 'layer': ['css!../libs/layer/build/skin/default/layer.css'], - validator: { - deps: ['../libs/nice-validator/dist/jquery.validator', 'css!../libs/nice-validator/dist/jquery.validator.css'] - } - }, - map: { - '*': { - 'css': '../libs/require-css/css.min' - } - }, - charset: 'utf-8' // 文件编码 -}); \ No newline at end of file diff --git a/public/assets/build/build.sh b/public/assets/build/build.sh deleted file mode 100755 index e4fbcd8..0000000 --- a/public/assets/build/build.sh +++ /dev/null @@ -1,6 +0,0 @@ -#! /bin/bash -node r.js -o build-frontend.js -node r.js -o build-frontend-css.js -node r.js -o build-backend.js -node r.js -o build-backend-css.js -echo "done" diff --git a/public/assets/build/backend.css b/public/assets/css/backend.css index 21437ff..21437ff 100644 --- a/public/assets/build/backend.css +++ b/public/assets/css/backend.css diff --git a/public/assets/build/frontend.css b/public/assets/css/frontend.css index 20652aa..20652aa 100644 --- a/public/assets/build/frontend.css +++ b/public/assets/css/frontend.css diff --git a/public/assets/js/require-backend.js b/public/assets/js/require-backend.js index 7a70eb3..531b205 100644 --- a/public/assets/js/require-backend.js +++ b/public/assets/js/require-backend.js @@ -5,7 +5,10 @@ require.config({ location: '../libs/moment', main: 'moment' }], + //在打包压缩时将会把include中的模块合并到主文件中 + include: ['css', 'layer', 'toastr', 'backend', 'table', 'form', 'dragsort', 'drag', 'drop', 'addtabs'], paths: { + 'lang': "empty:", 'config': 'require-config', 'bootstrap-checkbox': 'bootstrap-checkbox', 'bootstrap-radio': 'bootstrap-radio', diff --git a/public/assets/js/require-backend.min.js b/public/assets/js/require-backend.min.js index 961a1c7..a5c30f8 100644 --- a/public/assets/js/require-backend.min.js +++ b/public/assets/js/require-backend.min.js @@ -22,7 +22,10 @@ require.config({ location: '../libs/moment', main: 'moment' }], + //在打包压缩时将会把include中的模块合并到主文件中 + include: ['css', 'layer', 'toastr', 'backend', 'table', 'form', 'dragsort', 'drag', 'drop', 'addtabs'], paths: { + 'lang': "empty:", 'config': 'require-config', 'bootstrap-checkbox': 'bootstrap-checkbox', 'bootstrap-radio': 'bootstrap-radio', diff --git a/public/assets/js/require-frontend.js b/public/assets/js/require-frontend.js index a3e875d..8ad6d68 100644 --- a/public/assets/js/require-frontend.js +++ b/public/assets/js/require-frontend.js @@ -5,7 +5,10 @@ require.config({ location: '../libs/moment', main: 'moment' }], + //在打包压缩时将会把include中的模块合并到主文件中 + include: ['css', 'layer', 'toastr', 'frontend'], paths: { + 'lang': "empty:", 'config': 'require-config', 'bootstrap-checkbox': 'bootstrap-checkbox', 'bootstrap-radio': 'bootstrap-radio', diff --git a/public/assets/js/require-frontend.min.js b/public/assets/js/require-frontend.min.js index bb8e7f5..554cb46 100644 --- a/public/assets/js/require-frontend.min.js +++ b/public/assets/js/require-frontend.min.js @@ -22,7 +22,10 @@ require.config({ location: '../libs/moment', main: 'moment' }], + //在打包压缩时将会把include中的模块合并到主文件中 + include: ['css', 'layer', 'toastr', 'frontend'], paths: { + 'lang': "empty:", 'config': 'require-config', 'bootstrap-checkbox': 'bootstrap-checkbox', 'bootstrap-radio': 'bootstrap-radio',