• vue组件库的基本开发步骤(源代码)


    上次发布的随笔忘记提供源代码了,今天特地来补充,如果有什么问题,欢迎大家为我修改指正。

    vue.config.js文件:

    const path = require('path')

    function resolve (dir) {

      return path.join(__dirname, '..', dir)

    }

    module.exports = {

        // entry指向examples

        pages: {

            index: {

                entry: 'examples/main.js',

                template: 'public/index.html',

                filename: 'index.html'

            }

        },

        // packages目录添加babel-loader处理

        chainWebpack: config => {

            config.module

            .rule('js')

            .include

                .add(resolve('packages'))

                .end()

            .use('babel')

                .loader('babel-loader')

                .tap(options => {

                    return options

                })

        }

    }

    datePicker

    <template>

      <div>这是一个datePicker组件</div>

    </template>

    <script>

    export default {

      name: 'datePicker'

    }

    </script>

    datePicker/index.js

    /* eslint-disable */

    import datePicker from './src/datePicker.vue';

    datePicker.install = function (Vue) {

      Vue.component(datePicker.name, datePicker)

    }

    export default datePicker

    Package/index.js

    /* eslint-disable */

    import datePicker from './datePicker';

    const components = [

      datePicker

    ]

    const install = function (Vue) {

      

      if (install.installed) return

      

      components.map(component => Vue.component(component.name, component))

    }

    if (typeof window !== 'undefined' && window.Vue) {

      install(window.Vue)

    }

    export default {

      

      install,

      datePicker

    }

    examples/main.js

    /* eslint-disable */

    import Vue from 'vue';

    import App from './App.vue';

    import datePicker from './../packages/index'

    Vue.use(datePicker)

    Vue.config.productionTip = false;

    new Vue({

      render: h => h(App),

    }).$mount('#app');

    .npmignore文件

    examples/

    packages/

    public/

    vue.config.js

    postcss.config.js

    babel.config.js

    *.map

    人生何其短,要笑的分外甜
  • 相关阅读:
    卖家必须了解的库存数据,亚马逊库存报告都帮你整理好了
    Genymotion 无法安装 APK 解决方案
    这张系统架构图画的漂亮!
    IT项目风险大全
    ElasticSearch是一个基于Lucene的搜索服务器
    商业模式的定义、商业模式的好坏
    如何实现互联网+业务与IT的融合
    UBUNTU PHP 版本切换
    Ubuntu为PHP安装SOAP扩展
    实现Linux下的ls -l命令
  • 原文地址:https://www.cnblogs.com/luoluo-snow/p/11683843.html
Copyright © 2020-2023  润新知