javascript - 这个vue折叠组件,不用webpack打包怎么运行?
天蓬老师
天蓬老师 2017-04-11 10:32:02
[JavaScript讨论组]

这个vue折叠组件,不用webpack打包怎么运行?

<template>
    <collapsible behavior="expandable">
        <collapsible-item>
            <collapsible-header active label="First" icon="filter_drama"></collapsible-header>
            <collapsible-body><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p></collapsible-body>
        </collapsible-item>
        <collapsible-item>
            <collapsible-header label="Second" icon="place"></collapsible-header>
            <collapsible-body><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p></collapsible-body>
        </collapsible-item>
        <collapsible-item>
            <collapsible-header label="Third" icon="whatshot"></collapsible-header>
            <collapsible-body><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p></collapsible-body>
        </collapsible-item>
    </collapsible>
</template>

<script>
    /**
     * @example expandable collapsible
     * @for collapsible
     * @description
     */
    module.exports = {
        components: {
            'collapsible': require('material-ui-vue/components/collapsible/collapsible.vue'),
            'collapsible-body': require('material-ui-vue/components/collapsible/collapsible-body.vue'),
            'collapsible-header': require('material-ui-vue/components/collapsible/collapsible-header.vue'),
            'collapsible-item': require('material-ui-vue/components/collapsible/collapsible-item.vue')
        }
    };
</script>

说明:
1、上面的代码原链接在这里:http://material-ui-vue.jackyang.me/docs/#!/components/collapsible/collapsible
2、上面require的几个组件在这里:https://github.com/JackGit/material-ui-vue/tree/master/src/components/collapsible

问题:
上面的代码好像是用es6写的,浏览器运行不了,我想先不用webpack打包,而是写在一个html文件中直接运行,不知道要怎么整合和修改,请大神帮忙一下,谢谢。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(2)
怪我咯

首先,这里没有用es6。仅仅是用了.vue文件,而.vue文件的解析肯定要用webpack或者browserify的
其实可以提供这样一种使用方法(另外一个库):

<script>
    // is available as global after link
    var VueMaterialComponents;

    // map of all components
    VueMaterialComponents.components;
    // map of all directives
    VueMaterialComponents.directives;
    // array of all mixins
    VueMaterialComponents.mixins;

    // registration callbacks to Vue
    VueMaterialComponents.registerComponents();
    VueMaterialComponents.registerDirectives();
    VueMaterialComponents.registerAll();
</script>

但是考虑到,将所有的组件都打包到一个js文件中,不管用户是不是用到所有的组件,会增加不必要的文件大小。因此这里没有打包到一个单独文件在浏览器端可以直接使用的。

如果你一定要想在浏览器端引用一个js就能使用的话,那我忍痛推荐你使用这个库吧

ringa_lee

先看文档single-file-component,注意这句话“when using Webpack or Browserify, with proper source transforms we can write our components like this”,所以如果你想用单文件组件,webpack或者browserify是必须的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号