|
1 | 1 | var fs = require('fs')
|
2 | 2 | var path = require('path')
|
3 |
| -var htmlMinifier = require("html-minifier") |
4 |
| -var CleanCSS = require('clean-css') |
5 |
| -var cssMinifier = new CleanCSS() |
6 | 3 | var parse5 = require('parse5')
|
7 | 4 | var parser = new parse5.Parser()
|
8 | 5 | var serializer = new parse5.TreeSerializer()
|
9 | 6 | var async = require('async')
|
10 | 7 | var compilers = require('./compilers')
|
11 | 8 | var Emitter = require('events').EventEmitter
|
12 | 9 |
|
| 10 | +if (process.env.NODE_ENV === 'production') { |
| 11 | + var htmlMinifier = require("html-minifier") |
| 12 | + var CleanCSS = require('clean-css') |
| 13 | + var cssMinifier = new CleanCSS() |
| 14 | +} |
| 15 | + |
13 | 16 | // required for Vue 1.0 shorthand syntax
|
14 | 17 | var htmlMinifyOptions = {
|
15 | 18 | customAttrSurround: [[/@/, new RegExp('')], [/:/, new RegExp('')]]
|
@@ -109,13 +112,17 @@ compiler.compile = function (content, filePath, cb) {
|
109 | 112 | if (err) return cb(err)
|
110 | 113 | // style
|
111 | 114 | if (style) {
|
112 |
| - style = JSON.stringify(cssMinifier.minify(style).styles) |
| 115 | + if (process.env.NODE_ENV === 'production') { |
| 116 | + style = JSON.stringify(cssMinifier.minify(style).styles) |
| 117 | + } |
113 | 118 | output += 'require("insert-css")(' + style + ');\n'
|
114 | 119 | }
|
115 | 120 |
|
116 | 121 | // template
|
117 | 122 | if (template) {
|
118 |
| - template = JSON.stringify(htmlMinifier.minify(template, htmlMinifyOptions)) |
| 123 | + if (process.env.NODE_ENV === 'production') { |
| 124 | + template = JSON.stringify(htmlMinifier.minify(template, htmlMinifyOptions)) |
| 125 | + } |
119 | 126 | output += 'var __vue_template__ = ' + template + ';\n'
|
120 | 127 | }
|
121 | 128 |
|
|
0 commit comments