diff --git a/build/config.js b/build/config.js index cef17cff..f7e4fc4b 100644 --- a/build/config.js +++ b/build/config.js @@ -12,8 +12,6 @@ const banner = ' * Released under the MIT License.\n' + ' */' -const baseAlias = require('./alias') - const builds = { // Runtime only (CommonJS). Used by bundlers e.g. Webpack & Browserify 'web-runtime-dev': { @@ -43,10 +41,7 @@ const builds = { dest: path.resolve(__dirname, '../dist/vue.js'), format: 'umd', env: 'development', - banner, - alias: { - he: './entity-decoder' - } + banner }, // Runtime+compiler standalone production build. 'web-standalone-prod': { @@ -54,10 +49,7 @@ const builds = { dest: path.resolve(__dirname, '../dist/vue.min.js'), format: 'umd', env: 'production', - banner, - alias: { - he: './entity-decoder' - } + banner }, // Web compiler (CommonJS). 'web-compiler': { @@ -86,7 +78,7 @@ function genConfig (opts) { plugins: [ flow(), buble(), - alias(Object.assign({}, baseAlias, opts.alias)) + alias(require('./alias')) ] } diff --git a/src/compiler/parser/entity-decoder.js b/src/compiler/parser/entity-decoder.js index 66b27f6a..777090db 100644 --- a/src/compiler/parser/entity-decoder.js +++ b/src/compiler/parser/entity-decoder.js @@ -1,8 +1,18 @@ /* @flow */ -const decoder = document.createElement('div') +import { inBrowser } from 'core/util/env' -export function decode (html: string): string { - decoder.innerHTML = html - return decoder.textContent +let decode + +/* istanbul ignore else */ +if (inBrowser) { + const decoder = document.createElement('div') + decode = (html: string): string => { + decoder.innerHTML = html + return decoder.textContent + } +} else { + decode = require('he').decode } + +export { decode } diff --git a/src/compiler/parser/index.js b/src/compiler/parser/index.js index 8e591e86..29fb7c39 100644 --- a/src/compiler/parser/index.js +++ b/src/compiler/parser/index.js @@ -1,6 +1,6 @@ /* @flow */ -import { decode } from 'he' +import { decode } from './entity-decoder' import { parseHTML } from './html-parser' import { parseText } from './text-parser' import { cached, no, camelize } from 'shared/util'