zoukankan      html  css  js  c++  java
  • 将组件拼装使用

      两个插件:vue-loader   vue-template-compiler

      这次我们直接在图片来说明  看上面下载的插件,来使用 

      vue-loader 功能将 vue 文件中的三个模块,解析和转换 vue 主件,提供了其中的  script,样式 style,以及 template,在分别交给别的模块处理

      下载的依赖:

        script:babel-loader

        css 样式:less-loader  css-loader  style-loader

        template 的解析:vue-template-compiler

      必须要引入的插件  vue

      在配置 webpack.config.js 文件中,必须要引入插件  let VueLoaderPlugin=require('vue-loader/lib/plugin');   在 plugins 中 new VueLoaderPlugin()  调用即可

      在 new 实例的时候

      注意:组件时候用自己的数据在自己模板中使用,组件挂在谁下面,就在谁的模板以标签的形式调用,

         留心驼峰法命名  在标签使用中用 - 表示

      npm 下载环境表示:

        -S 生产依赖  -D 开发依赖 

      跟组件的灵魂:render:(fn)=>fn(App)  // 这里的 App 代表定义最大的组件,可通过案例看到

      案例:

        目录结构

        

        app.html

        

        app.js

        

        app.vue

        

        header.vue

        

         package.json

        

        webpack.config.js

        

    let path = require("path");
    let Htmlwebpackplugin = require("html-webpack-plugin");
    let compiler = require('vue-template-compiler');
    let VueLoaderPlugin=require('vue-loader/lib/plugin');
    module.exports = {
    entry: {
    app: "./src/app.js",
    main: "./src/main.js"
    },
    output: {
    filename: "[name].js",
    path: path.resolve("dist")
    },
    mode: "development", // porduction 压缩 development 未压缩
    module: {
    rules: [{
    test: /.css$/i,
    use: [{
    loader: "style-loader"
    },
    {
    loader: "css-loader"
    }
    ],
    },
    {
    test: /.less$/,
    use: [{
    loader: 'style-loader',
    },
    {
    loader: 'css-loader',
    },
    {
    loader: 'less-loader',
    },
    ],
    },
    {
    test: /.vue$/,
    use: [
    {loader:'vue-loader'}
    ]
    },
    {
    test: /.m?js$/,
    exclude: /(node_modules|bower_components)/,
    use: {
    loader: 'babel-loader',
    options: {
    presets: ['@babel/preset-env']
    }
    }
    },
    {
    test: /.(png|jpe?g|gif)$/,
    use: [{
    loader: 'file-loader',
    options: {
    name: 'img/[name].[ext]',
    },
    }, ]
    }
    ],
    },
    plugins: [
    new VueLoaderPlugin(),
    new Htmlwebpackplugin({
    filename: "app.html", // 编译后的 html 文件
    template: "./app.html", // 编译前地 html 文件
    // minify: {
    // collapseWhitespace: true // 将 html 文件压缩为一行
    // },
    chunks: ["app", "main"] // 依赖的 js 文件 与 entry 中的属性 保持一致
    })
    ],
    devServer: {
    open: true, // 自动打开浏览器
    contentBase: "dist", // 配置根目录
    port: 3000 // 端口
    }
    }
  • 相关阅读:
    raw socket
    selenium and win32api
    linux ip
    network config
    grub paramiter & menu.list
    实用命令dd
    resin or tomcat .war e.g. note
    JSP 运行
    linux command screen
    docker interact example
  • 原文地址:https://www.cnblogs.com/shangjun6/p/11234592.html
Copyright © 2011-2022 走看看