Browse Source

make standalone build usable in Node.js too

dev
Evan You 8 years ago
parent
commit
a4fcdbe673
  1. 14
      build/config.js
  2. 18
      src/compiler/parser/entity-decoder.js
  3. 2
      src/compiler/parser/index.js

14
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'))
]
}

18
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 }

2
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'

Loading…
Cancel
Save