Skip to content

Instantly share code, notes, and snippets.

var elixir = require('laravel-elixir');
elixir.config.assetsPath = 'src';
elixir.config.publicPath = 'dist';
elixir(function(mix) {
mix.browserSync({
files: ['**/*.html', '**/*.css', '**/*.js']
});
mix.browserify('app.js');
mix.sass('app.scss');
let Todos = new Mongo.Collection('todos');
if (Meteor.isClient) {
let App = Vue.component('app', {
template: '#app',
data() {
return {
todos: [],
newTodo: ''
}
<head>
<title>meteor-vue-todo</title>
</head>
<body>
<app></app>
<template id="app">
<div class="app">
<h1>Meteor Vue Todos</h1>
let Todos = new Mongo.Collection('todos');
let App = Vue.component('app', {
template: '#app',
data() {
return {
todos: []
}
},
created() {
Tracker.autorun( () => this.todos = Todos.find().fetch() );
if (Meteor.isClient) {
Meteor.startup(() => {
new Vue({
el: 'body',
});
});
}
import Vue from 'vue';
import App from 'components/app';
new Vue({
el: 'body',
components: { App },
});
import { Meteor } from 'meteor/meteor';
WebApp.connectHandlers.use('/file', (req, res) => {
// We only care about PUT methods
res.setHeader("Access-Control-Allow-Methods", "PUT");
// I am running meteor as a backend, see https://iamlawrence.me/agnostic-meteor
// Therefore we need to enable CORS
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader("Access-Control-Allow-Headers", "Content-Type");
import { Meteor } from 'meteor/meteor';
WebApp.connectHandlers.use('/file', (req, res) => {
res.setHeader("Access-Control-Allow-Methods", "PUT");
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader("Access-Control-Allow-Headers", "Content-Type");
if (req.method === 'OPTIONS') {
res.writeHead(200);
res.end();
<input type="file">
<script>
var el = document.querySelector('input[type="file"]');
el.addEventListener('change', function(event) {
let files = e.target.files;
for (let i = 0; i < files.length; i++) {
let file = files[i];
var xhr = new XMLHttpRequest();
<input type="file">
<script>
var el = document.querySelector('input[type="file"]');
el.addEventListener('change', function(event) {
let files = e.target.files;
for (let i = 0; i < files.length; i++) {
let file = files[i];
var xhr = new XMLHttpRequest();
// set the url to wherever you meteor app is running