Add SSR, props.title support HTML

master
git 9 years ago
parent 6cf882bf1e
commit 75fd49b119

3211
dist/example.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,3 +1,24 @@
<template>
<div id="app">
<header id="header">
<h1>Upload test</h1>
<nav>
<h2>Navigation</h2>
<h3>Please click on the navigation</h3>
<ul>
<li><router-link to="/">Home</router-link></li>
<li><router-link to="/multi">Multi components</router-link></li>
<li><router-link to="/cross-router">Cross router</router-link></li>
<li><router-link to="/vuex">Vuex</router-link></li>
</ul>
</nav>
</header>
<router-view id="main"></router-view>
<footer id="footer">
<div>Powered by:<a href="//www.lianyue.org">LianYue</a></div>
</footer>
</div>
</template>
<style> <style>
nav { nav {
margin-bottom: 1em margin-bottom: 1em
@ -5,28 +26,5 @@ nav {
</style> </style>
<script> <script>
export default { export default {
render(h) {
return (
<div id="app">
<header id="header">
<h1>Upload test</h1>
<nav>
<h2>Navigation</h2>
<h3>Please click on the navigation</h3>
<ul>
<li><router-link to="/">Home</router-link></li>
<li><router-link to="/multi">Multi components</router-link></li>
<li><router-link to="/cross-router">Cross router</router-link></li>
<li><router-link to="/vuex">Vuex</router-link></li>
</ul>
</nav>
</header>
<router-view id="main"></router-view>
<footer id="footer">
<div>Powered by:<a href="//www.lianyue.org">LianYue</a></div>
</footer>
</div>
)
}
} }
</script> </script>

@ -71,7 +71,5 @@ const router = new VueRouter({
new Vue({ new Vue({
router, router,
store, store,
render(h) { ...App
return h(App)
}
}).$mount('#app') }).$mount('#app')

@ -33,11 +33,8 @@
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"babel-core": "^6.0.0", "babel-core": "^6.0.0",
"babel-helper-vue-jsx-merge-props": "^2.0.2",
"babel-loader": "^6.0.0", "babel-loader": "^6.0.0",
"babel-plugin-syntax-jsx": "^6.18.0",
"babel-plugin-transform-runtime": "^6.0.0", "babel-plugin-transform-runtime": "^6.0.0",
"babel-plugin-transform-vue-jsx": "^3.3.0",
"babel-preset-es2015": "^6.0.0", "babel-preset-es2015": "^6.0.0",
"babel-preset-stage-0": "^6.5.0", "babel-preset-stage-0": "^6.5.0",
"babel-runtime": "^6.0.0", "babel-runtime": "^6.0.0",
@ -47,13 +44,12 @@
"file-loader": "^0.8.4", "file-loader": "^0.8.4",
"json-loader": "^0.5.4", "json-loader": "^0.5.4",
"url-loader": "^0.5.7", "url-loader": "^0.5.7",
"vue": "^2.2.1", "vue": "^2.2.6",
"vue-hot-reload-api": "^1.2.0", "vue-hot-reload-api": "^1.3.3",
"vue-html-loader": "^1.0.0", "vue-loader": "^11.1.4",
"vue-loader": "^9.5.0", "vue-router": "^2.4.0",
"vue-router": "^2.3.0", "vue-template-compiler": "^2.2.6",
"vue-style-loader": "^1.0.0", "vuex": "^2.3.1",
"vuex": "^2.2.1",
"webpack": "^1.12.2", "webpack": "^1.12.2",
"webpack-dev-server": "^1.12.0" "webpack-dev-server": "^1.12.0"
} }

@ -1,6 +1,6 @@
<template> <template>
<label class="file-uploads" :class="mode === 'html5' ? 'file-uploads-html5' : 'file-uploads-html4'"> <label class="file-uploads" :class="mode === 'html5' ? 'file-uploads-html5' : 'file-uploads-html4'">
<span>{{title}}</span> <span class="file-uploads-title" v-html="title"></span>
<slot></slot> <slot></slot>
<input-file></input-file> <input-file></input-file>
</label> </label>
@ -125,6 +125,7 @@ export default {
// //
mounted() { mounted() {
return
var input = document.createElement('input'); var input = document.createElement('input');
input.type = 'file'; input.type = 'file';
if (window.FormData && input.files) { if (window.FormData && input.files) {
@ -398,7 +399,7 @@ export default {
var inputFile = new Component({ var inputFile = new Component({
parent: this, parent: this,
el: el, el: el.parentNode,
}); });
}, },

@ -1,5 +1,5 @@
<template> <template>
<div> <span class="file-uploads-input">
<input <input
type="file" type="file"
:name="$parent.name" :name="$parent.name"
@ -8,8 +8,7 @@
@change="change" @change="change"
:multiple="$parent.multiple && $parent.mode === 'html5'" :multiple="$parent.multiple && $parent.mode === 'html5'"
/> />
</div> </span>
</template> </template>
<script> <script>
export default { export default {

@ -9,4 +9,4 @@ module.exports.entry = {
} }
module.exports.output.library = 'VueUploadComponent'; module.exports.output.library = 'VueUploadComponent';
module.exports.output.libraryTarget = 'umd'; module.exports.output.libraryTarget = 'commonjs2';

@ -10,13 +10,12 @@ module.exports = {
path: './dist', path: './dist',
publicPath: '/dist/', publicPath: '/dist/',
filename: "[name].js", filename: "[name].js",
// target: 'node',
}, },
resolve: { resolve: {
root: path.join(__dirname, 'node_modules'), root: path.join(__dirname, 'node_modules'),
alias: {
},
extensions: ['', '.js', '.vue', '.json'], extensions: ['', '.js', '.vue', '.json'],
}, },
@ -52,7 +51,7 @@ module.exports = {
babel: { babel: {
presets: ['es2015', 'stage-0'], presets: ['es2015', 'stage-0'],
plugins: ['transform-runtime', 'transform-vue-jsx'], plugins: ['transform-runtime'],
}, },
devServer: { devServer: {

Loading…
Cancel
Save