vue3的app.use和install方法

目录结构:

脚手架搭建:

npm init -y
yarn add webpack@4.44.2 webpack-cli@3.3.12 webpack-dev-server@3.11.2 @vue/compiler-sfc@3.1.2 vue-loader@16.5.0 vue-style-loader@4.1.3 vue-template-compiler@2.6.14 html-webpack-plugin@4.5.0 css-loader@4 sass-loader@10.1.1 sass@1.45.2 -D

package.json

"scripts": {
    "dev": "webpack-dev-server",
    "build": "webpack"
  },

webpack.config.js

复制代码
const htmlWebpackPlugin = require('html-webpack-plugin'),
  { VueLoaderPlugin } = require('vue-loader'),
  { resolve } = require('path')

module.exports = {
  mode: 'development',
  entry: './src/main.js',
  output: {
    path: resolve(__dirname, 'dist'),
    filename: 'bundle.js',
  },
  devtool: 'source-map',
  resolve: {
    extensions: ['.vue', '.js'],
  },
  externals: {
    vue: 'Vue',
  },
  module: {
    rules: [
      {
        test: /.vue$/i,
        loader: 'vue-loader',
      },
      {
        test: /.scss$/i,
        use: ['vue-style-loader', 'css-loader', 'sass-loader'],
      },
    ],
  },
  plugins: [
    new VueLoaderPlugin(),
    new htmlWebpackPlugin({
      template: resolve(__dirname, 'public/index.html'),
    }),
  ],
}
复制代码

main.js:

import App from './App'
import DemoUI from '../modules/demo-ui'

const app = Vue.createApp(App)

app.use(DemoUI)
app.mount('#app')

public\index.html

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <div id="app"></div>
  <script src="https://cdn.jsdelivr.net/npm/vue@3.2.27/dist/vue.global.min.js"></script>
</body>
</html>
复制代码

modules\demo-ui\components\index.js

复制代码
import HButton from './components/HButton.vue'
import HInput from './components/HInput.vue'

const components = [HButton, HInput]

const DemoUI = {
 // install 方法 接收参数app
  install(app) {
    // console.log('执行一段逻辑')
    components.forEach(comp => {
      app.component(comp.name, comp)
    })
  },
}
export default DemoUI
复制代码

 

posted @   云卷芸舒  阅读(4031)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示