Browse Source

Merge pull request #59 from egoist/optimize

Optimize
Wenjie Fan 8 years ago
parent
commit
cd0a52489f
7 changed files with 60 additions and 19 deletions
  1. 0 0
      dist/DPlayer.min.css
  2. 1 0
      dist/DPlayer.min.css.map
  3. 0 0
      dist/DPlayer.min.js
  4. 0 0
      dist/DPlayer.min.js.map
  5. 6 0
      package.json
  6. 35 16
      webpack.config.js
  7. 18 3
      yarn.lock

File diff suppressed because it is too large
+ 0 - 0
dist/DPlayer.min.css


+ 1 - 0
dist/DPlayer.min.css.map

@@ -0,0 +1 @@
+{"version":3,"sources":[],"names":[],"mappings":"","file":"DPlayer.min.css","sourceRoot":""}

File diff suppressed because it is too large
+ 0 - 0
dist/DPlayer.min.js


File diff suppressed because it is too large
+ 0 - 0
dist/DPlayer.min.js.map


+ 6 - 0
package.json

@@ -3,11 +3,15 @@
   "version": "1.1.5",
   "description": "Wow, such a lovely HTML5 danmaku video player",
   "main": "dist/DPlayer.min.js",
+  "style": "dist/DPlayer.min.css",
   "scripts": {
     "test": "webpack",
     "build": "webpack",
     "dev": "WEBPACK_ENV=dev webpack-dev-server --hot --progress --inline --host 0.0.0.0"
   },
+  "files": [
+    "dist"
+  ],
   "repository": {
     "url": "git+https://github.com/DIYgod/DPlayer.git",
     "type": "git"
@@ -31,10 +35,12 @@
     "babel-preset-es2015": "^6.22.0",
     "css-loader": "^0.28.0",
     "exports-loader": "^0.6.3",
+    "extract-text-webpack-plugin": "^2.1.0",
     "file-loader": "^0.10.0",
     "node-sass": "^4.5.0",
     "postcss-loader": "^1.2.2",
     "sass-loader": "^6.0.2",
+    "strip-loader": "^0.1.2",
     "style-loader": "^0.16.1",
     "url-loader": "^0.5.7",
     "webpack": "^2.2.1",

+ 35 - 16
webpack.config.js

@@ -1,6 +1,7 @@
 var webpack = require('webpack');
 var path = require('path');
 var autoprefixer = require('autoprefixer');
+var ExtractTextPlugin = require('extract-text-webpack-plugin');
 
 var libraryName = 'DPlayer';
 var env = process.env.WEBPACK_ENV;
@@ -8,14 +9,28 @@ var ROOT_PATH = path.resolve(__dirname);
 var APP_PATH = path.resolve(ROOT_PATH, 'src');
 var BUILD_PATH = path.resolve(ROOT_PATH, 'dist');
 
-var plugins = [];
-if (env !== 'dev') {
-    plugins.push(
-        new webpack.optimize.UglifyJsPlugin({
-            sourceMap: true
-        })
-    );
-}
+var dev = env === 'dev';
+var plugins = [].concat(dev ? [] : [
+    new webpack.optimize.UglifyJsPlugin({
+        sourceMap: true,
+        compressor: {
+            warnings: false,
+            conditionals: true,
+            unused: true,
+            comparisons: true,
+            sequences: true,
+            dead_code: true,
+            evaluate: true,
+            if_return: true,
+            join_vars: true,
+            negate_iife: false
+        },
+        output: {
+            comments: false
+        }
+    }),
+    new ExtractTextPlugin(`${libraryName}.min.css`)
+]);
 
 module.exports = {
     entry: './src/' + libraryName + '.js',
@@ -28,7 +43,7 @@ module.exports = {
         umdNamedDefine: true
     },
 
-    devtool: 'source-map',
+    devtool: dev ? 'eval-source-map' : 'source-map',
 
     devServer: {
         publicPath: "/dist/",
@@ -46,19 +61,23 @@ module.exports = {
             },
             {
                 test: /\.scss$/,
-                use: [
-                    'style-loader',
-                    'css-loader',
-                    'postcss-loader',
-                    'sass-loader'
-                ],
+                use: dev ? ['style-loader', 'css-loader', 'postcss-loader', 'sass-loader'] : ExtractTextPlugin.extract({
+                    use: ['css-loader?minimize&-autoprefixer', 'postcss-loader', 'sass-loader']
+                }),
                 include: APP_PATH
             },
             {
                 test: /\.(png|jpg)$/,
                 loader: 'url-loader?limit=40000'
             }
-        ]
+        ].concat(dev ? [] : [
+            {
+                test: /\.js$/,
+                loader: 'strip-loader?strip[]=console.log',
+                enforce: 'pre',
+                include: APP_PATH,
+            }
+        ])
     },
 
     plugins: plugins

+ 18 - 3
yarn.lock

@@ -27,7 +27,7 @@ ajv-keywords@^1.1.1:
   version "1.5.1"
   resolved "http://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
 
-ajv@^4.7.0, ajv@^4.9.1:
+ajv@^4.11.2, ajv@^4.7.0, ajv@^4.9.1:
   version "4.11.4"
   resolved "http://registry.npm.taobao.org/ajv/download/ajv-4.11.4.tgz#ebf3a55d4b132ea60ff5847ae85d2ef069960b45"
   dependencies:
@@ -1355,6 +1355,15 @@ extglob@^0.3.1:
   dependencies:
     is-extglob "^1.0.0"
 
+extract-text-webpack-plugin@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.0.tgz#69315b885f876dbf96d3819f6a9f1cca7aebf159"
+  dependencies:
+    ajv "^4.11.2"
+    async "^2.1.2"
+    loader-utils "^1.0.2"
+    webpack-sources "^0.1.0"
+
 extsprintf@1.0.2:
   version "1.0.2"
   resolved "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
@@ -2015,7 +2024,7 @@ loader-runner@^2.3.0:
   version "2.3.0"
   resolved "http://registry.npm.taobao.org/loader-runner/download/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
 
-loader-utils@^0.2.16:
+loader-utils@^0.2.16, loader-utils@^0.2.6:
   version "0.2.17"
   resolved "http://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
   dependencies:
@@ -3388,6 +3397,12 @@ strip-json-comments@~2.0.1:
   version "2.0.1"
   resolved "http://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
 
+strip-loader@^0.1.2:
+  version "0.1.2"
+  resolved "https://registry.npmjs.org/strip-loader/-/strip-loader-0.1.2.tgz#5166038181599342a424c62a49bbd21902ce8f33"
+  dependencies:
+    loader-utils "^0.2.6"
+
 style-loader@^0.16.1:
   version "0.16.1"
   resolved "http://registry.npm.taobao.org/style-loader/download/style-loader-0.16.1.tgz#50e325258d4e78421dd9680636b41e8661595d10"
@@ -3644,7 +3659,7 @@ webpack-dev-server@^2.3.0:
     webpack-dev-middleware "^1.9.0"
     yargs "^6.0.0"
 
-webpack-sources@^0.1.4:
+webpack-sources@^0.1.0, webpack-sources@^0.1.4:
   version "0.1.4"
   resolved "http://registry.npm.taobao.org/webpack-sources/download/webpack-sources-0.1.4.tgz#ccc2c817e08e5fa393239412690bb481821393cd"
   dependencies:

Some files were not shown because too many files changed in this diff