1、demo

项目结构:

  

  index.html

<!DOCTYPE html>
<html>
<head>
<title>标题</title>
<meta charset="utf-8">
</head>
<body>
<h3 class="blue">h3标签内的文本</h3>
<ul>
<li>这是一个li标签</li>
<li>这是一个li标签</li>
<li>这是一个li标签</li>
<li>这是一个li标签</li>
<li>这是一个li标签</li>
</ul> <div class="img"></div> <div id="app">
<h3> {{ msg }} </h3> <login></login>
</div> <script type="text/javascript" src="../dist/bundle.js"></script>
</body>
</html>

  main.js

// 这是项目的入口js文件
// 导入jquery, 这是ES6中导入模块的语法
import $ from 'jquery';
import './css/common.css'; // 注意:在webpack中,使用下面这句导入vue,功能不完整,只提供runtime-only的方式,并没没有提供向网页中那样的使用方式
//import Vue from 'vue';
// 导入完整的vue
import Vue from '../node_modules/vue/dist/vue.js'; // 导入register组件
import register from './components/register.vue';
// 默认webpack无法处理.vue文件,要安装第三方loader
// npm i vue-loader vue-template-compiler -D $(function() {
$('li:odd').css('backgroundColor','yellow');
$('li:even').css('backgroundColor','#eee');
}); // 组件的模板对象
var login = {
template: '<h1>登录组件</h1>'
}; var vm = new Vue({
el: '#app',
data: {
msg: 'hello vue'
},
components: {
login
},
   // render:将register组件渲染到el指定的div#app中(div#app中其他内容被覆盖)
   // 简写render: c => c(register)
render: function (createElements) {
return createElements(register);
} });

  register.vue

<template>
<h1>注册组件</h1>
</template> <script>
</script> <style>
</style>

  package.json

{
"name": "webpack-study1",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"jquery": "^3.3.1",
"vue": "^2.6.10"
},
"devDependencies": {
"css-loader": "^0.28.0",
"file-loader": "^1.1.11",
"style-loader": "^0.21.0",
"url-loader": "^1.0.1",
"vue-loader": "^15.2.4",
"vue-template-compiler": "^2.5.16",
"webpack": "^3.6.0"
}
}

  webpack.config.js

var path = require('path');

const { VueLoaderPlugin } = require('vue-loader');

// 通过node的模块操作,向外暴露一个配置对象
module.exports = {
entry: path.join(__dirname, './src/main.js'), // 入口,表示要使用webpack打包哪个文件
output: { // 出口
path: path.join(__dirname, './dist'),
filename: 'bundle.js'
},
module: { //用于配置所有第三方模块加载器
rules: [ //所有第三方模块的匹配规则
// 首先安装loader: npm i style-loader css-loader -D, 然后配置
{ test:/\.css$/, use: ['style-loader','css-loader'] },
// 首先安装loader: npm i url-loader file-loader -D, 然后配置
{
test:/\.(jpg|png|gif|bmp|jpeg)$/,
use: ['url-loader']
// limit单位byte,如果图片大于等于limit给定值,则不会被转为base64格式字符串
// name=[name].[ext]:打包的图片原名相同
// use: ['url-loader?limit=1000&name=[name].[ext]']
},
// 首先安装loader: npm i vue-loader vue-template-compiler -D, 然后配置
{ test: /\.vue$/, use: 'vue-loader' }
]
},
plugins: [
new VueLoaderPlugin()
],
};

2、遇到的问题

  2.1、webpack版本是3.6.0,与css-loader不兼容

  

  2.2、下载安装vue-loader以后,报错缺少相关插件 include VueLoaderPlugin in your webpack config
        const { VueLoaderPlugin } = require('vue-loader');
        ……
        plugins: [
                new VueLoaderPlugin(),
            ],

在vue中结合render函数渲染指定的组件到容器中的更多相关文章

  1. render 函数渲染表格的当前数据列使用

    columns7: [ { title: '编号', align: 'center', width: 90, key: 'No', render: (h, params) => { return ...

  2. iview table表中使用render函数props传值出现问题

    使用iview中的table表格时避免不了使用render函数渲染自定义内容,或者渲染组件.但是在正常使用时出现了props传值无法识别, 按照官网介绍使用props如下: render: (h, p ...

  3. 使用render函数渲染组件

    使用render函数渲染组件:https://www.jianshu.com/p/27ec4467a66b

  4. iview table中的render函数使用

    1.表格列数据内容过多可以用以下两个属性解决: ellipsis:"true', tooltip:true 使每个列的内容如果过多的话变为省略号 2.table中的render函数(实现根据 ...

  5. vue中的render函数介绍

    简介:对于不了解slot的用法(参考:大白话vue-slot的用法)又刚接触render函数的同学来说,官网的解释无疑一脸懵逼,这里就整理下个人对render函数的理解 问题: 1.render函数是 ...

  6. Vue中的render函数随笔

    使用vue-cli创建项目后,再main.js里面有这样一段代码: new Vue({ render:h => h(App) }).$mount('#app') render函数是渲染一个视图, ...

  7. Vue.js之render函数基础

    刚才翻了一下博客,才发现,距离自己写的第一篇Vue的博客vue.js之绑定class和style(2016-10-30)已经过去一年零两天.这一年里,自己从船厂的普通技术员,成为了一个微型不靠谱创业公 ...

  8. 19 使用Vue实例的render方法渲染组件

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Vue2.x中的Render函数

    Render函数是Vue2.x版本新增的一个函数:使用虚拟dom来渲染节点提升性能,因为它是基于JavaScript计算.通过使用createElement(h)来创建dom节点.createElem ...

随机推荐

  1. python基础-并发编程之I/O模型基础

    1. I/O模型介绍 1.1 I/O模型基础 更好的理解I/O模型,需要先回顾:同步.异步.阻塞.非阻塞 同步:执行完代码后,原地等待,直至出现结果 异步:执行完代码后,不等待,继续执行其他事务(常与 ...

  2. 应用安全 - 工具 | 平台 -webmin - 漏洞 - 汇总

    简介 开发语言 PHP 用途系统管理 CVE-2019-15642 Date2019.7 类型远程代码执行 影响范围Webmin <= 1.920 复现POC|EXPOBJECT Socket; ...

  3. switch-case分支结构总结

    1,格式 switch(表达式){ case 常量1:执行语句1: case 常量1:执行语句1: ... ... case 常量n:执行语句n: default:执行语句:} 2,说明: 根据swi ...

  4. 在CentOS 8 Linux中安装使用Cockpit服务器管理软件

    在本文中,我们将帮助您在CentOS 8服务器中安装Cockpit Web 控制台,以管理和监视本地系统以及网络环境中的Linux服务器.您还将学习如何将远程Linux主机添加到Cockpit并在Ce ...

  5. node项目自动化部署--基于Jenkins,Docker,Github(2)配置节点

    上一篇文章中准备工作已经完成的差不多了 这一篇主要讲解 Jenkins 上面的相关配置 为了让代码部署到所有的子节点上 所以我们首先需要在 Jenkins 中添加我们希望代码部署到的节点 配置节点 首 ...

  6. 重装java后hadoop配置文件的修改

    1.删除hdfs-site.xml中dfs.namenode.name.dir目录和dfs.datanode.data.dir目录 然后 hdfs namenode -format 不然将无法启动na ...

  7. 【6.18校内test】T2分数线划定

    分数线划定[题目链接] 这道题也不是什么难题,思路一带而过吧: SOLUTION: First.输入n,m,计算m*1.5的值,接着输入编号和成绩,然后我的做法是在输入编号成绩之后,开一个101大小的 ...

  8. 洛谷 P3919 可持久化线段树 题解

    题面 这题好水的说~很明显就是主席树的大板子 然而我交了3遍才调完所有的BUG,开好足够的数组,卡掉大大的常数: 针对与每次操作,change()会创建新节点,而ask()虽然也会更新左右儿子的节点编 ...

  9. C语言--浮点数

    在程序中使用浮点数 -- 浮点数的精确性有限 -- 在从c语言中float类型的精确度只到小数点的7位 -- 浮点数只能在一定范围内去相信它 -- 在有精确度高的要求下不要使用浮点数(在算钱的时候,误 ...

  10. LeetCode 338. 比特位计数

    338. 比特位计数 题目描述 给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 示例 示例 1: 输入: 2 输出 ...