如何在Vue上使用早午餐

时间:2018-02-28 20:01:38

标签: django vue.js brunch

我试图在Vue和Django上使用早午餐,但我得到一个空白页面,当我尝试在我的js中放置断点时,我发现它失败了:

import Vue from 'vue/dist/vue.js' 

with' Uncaught SyntaxError:意外的标识符'

我的HTML是:

<html lang="en">
    <head>
        ...
        <link rel="stylesheet" type="text/css" href="{% static 'public/css/app.css' %}" />
    </head>
    <body>
        <div id="app">
          <router-view></router-view>
        </div>
        <script type="text/javascript" src="{% static 'public/js/vendors.js' %}"></script>
        <script type="text/javascript" src="{% static 'public/js/app.js' %}"></script>
    </body>
</html>

我的js是:

import Vue from 'vue/dist/vue.js'
import VueRouter from 'vue-router'
Vue.use(VueRouter);
...
const app = new Vue({
    router,
    ...
}).$mount('#app');

我的早午餐配置是:

module.exports = {
    files: {
        javascripts: {
            joinTo: { 
                "js/vendors.js": /^node_modules/,
                'js/app.js': /^js/
            }
        },
        stylesheets: {joinTo: { 'css/app.css': 'scss/main.scss'}},
        templates: {
            joinTo: 'js/app.js'
        }
    },
    paths: {
        watched: ['js', 'scss']
    },
    plugins: {
        babel: {
            presets: ['es2015']
        }
    }
};

由于浏览器源代码中的某些原因,我看到我的js已编译,整个node_modules dir已编译,而原始js文件夹未编译。 知道我做错了什么吗?

感谢。

1 个答案:

答案 0 :(得分:0)

看起来你错过了babel(或任何其他javascript“编译器”),将你的下一代javascript语法转换为浏览器今天所理解的东西。特别是导入语法还没有到达当前的浏览器。

对于早午餐,有例如tomquirk/brunch-vue-barebones骨架,它可以为您处理。