$ \es6\sing-file>  npm install vue-loader@14.1.1 -D vue-template-compiler@2.5.17 -D

npm install vue-loader@14.1.1 -D     vue 装载器  vue-template-compiler@2.5.17 -D 对应模板的。 这两个要一起下载。 版本不能错

如果不能运行的话   npm install -D vue-loader vue-template-compiler  直接默认安装不要指定版本
目的是  把项目中,所有的  .vue  的文件。全部模块化。

首先让 pycharm 能支持写 .vue 文件

几个主要的配置文件看一下:

这里展示了所有的 依赖包的 版本。 下载就是了。

  "devDependencies": {
"install": "^0.12.2",
"npm": "^6.9.0", "css-loader": "^2.1.1", // css文件的 加载器。解析编译 css文件
"style-loader": "^0.23.1", // style 加载器。 将解析编译之后的css 文件。 在 html 文件中生成一个 style 标签,并把css样式放进去 "html-webpack-plugin": "^3.2.0", // 执行webpack 时。 会自动的根据index.html这个参考文件, 去指定的目录生成 真正的index.html文件。 "vue": "^2.6.10", // vue "vue-loader": "^14.2.4", // 解析 .vue 文件
"vue-template-compiler": "^2.6.10", // 将vue文件,插入到 Vue实例化对象的 template 中。 "webpack-dev-server": "^2.9.0" // 自动运行,写代码时。 改动代码,页面自动呈现效果
},

入口 main.js 文件: 这里确定了, 不同的文件 使用不同的装载器。 将他进行解析。

vue文件。 html  js  css 写在这里面。

main.js: 创建了 Vue对象。 并且把抛出的 App 导入进来。 挂载到 Vue实例化对象里面, 并且使用 <App /> 
./main_main.css  这个css文件, 也会一并生效的。

效果就是这样。 这个背景颜色 和 字体的颜色 是。 main_main.css 里面的,css代码。
一样可使用,very   good

我们开发肯定不是就一个组件  那么多个组件该怎么搞?

这里就要使用 es6 的语法了。 import xxx from xxx;     所有的组件 都是一部分东西。 我们肯定是一个 整体入口 然后导入其他组件, 把其他组件 挂载到,这个 整体入口组件下面。

在上面 结构的基础上 在 src 下创建一个  Header.vue

<template>
<div>
<h3>{{att}}</h3>
</div>
</template> <script>
export default { // 抛出
name: "Header", // 记得一定要起一个名字。 随便叫
data(){
return{att:"alex"};
},
}
</script> <style scoped>
/*scoped 只对当前组件的样式起作用*/
h3{color: green}
</style>
scoped  这个添加上之后,里面的css代码就只会在 当前这个组建内生效。不会影响到其他的组件。

然后就是在  App.vue 这个文件里面, 导入这个  Header  用 components 再将它挂载到这里。
<!--组件结构 html
业务逻辑 sj
组建样式 css
--> <template>
<!-- 这里一定要是闭合标签 -->
<div class="app">
<h3>{{msg}}</h3>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
<Header /> // 使用这个导入进来的 组件。 请一定要使用 闭合标签。 否则会报错的。
</div>
</template> <script> import Header from "./Header.vue" // 导入这个 Header 组件。
// 这里会自动的 将 上面的<template>...</template> 插入到下面的template中,然后抛出
export default {
data(){
return{
msg:"学习单页组件"
}
},
// template:``,
methods:{
// 写事件方法
},
computed:{
// 计算属性
},
components:{
Header
//进行挂载 你也可以这样写 Header:Header 因为两个名字一样,所以可以只写一个。 别忘了在 template 里面使用这个组件这里只是挂载上了
} } </script> <style scoped> /*这样这是的话是全集的 css 样式。 如果只是想要 这个vue文件中的代码才会生效的话添加一个 scoped*/ h3{color: black} ul{list-style: none} </style>

这是效果: 都是对 h3 标签。 的文字使用 css 渲染了颜色。  但是 颜色不一样。 scoped是有效果的

vue-loader介绍和单页组件介绍的更多相关文章

  1. vue-loader和单页组件介绍

    一.Vue Loader介绍 Vue Loader 是一个 webpack 的loader,它允许你以一种名为 单文件组件(SFCs)的格式撰写 Vue 组件.官方文档地址如下所示: Vue Load ...

  2. vue中创建全局单文件组件/命令

    1.在 vue中如果我们使用基于vue.js编写的插件,我们可以使用Vue.use() 如在main.js中: 2.添加全局命令,让每个vue单文件组件都可以使用到: 第一步:最好建一个全局的命令文件 ...

  3. vue项目的骨架及常用组件介绍

    vue项目基础结构 一个vue的项目,我觉得最小的子集其实就是{vue,vue-router,component},vue作为基础库,为我们提供双向绑定等功能.vue-router连接不同的" ...

  4. vue基础指令了解补充及组件介绍

    v-once指令 """ v-once:单独使用,限制的标签内容一旦赋值,便不可被动更改(如果是输入框,可以主动修改) """ <di ...

  5. vue项目中,单页图片过多,使用懒加载

    最近做项目,一页图片很多,加载的时候效果很差. 通过学习借鉴其他大神的方法,使用了插件vue-lazyload,使用这个插件,界面更美观了,加载的效果好起来. 安装 npm i vue-lazyloa ...

  6. 偏前端 - div+mui+vue.js 制作问卷调查单页 ——题目答案由后台随机给出10道

    封装的ajax获取数据.代码可能有些是多余的,没做处理!!点击提交后有弹框,在这里我没有贴出来.第一次写博客,这些也是别人教我的,经理解后,贴出来于大家分享 ——html—— <script t ...

  7. Vue Cli 3 搭建单页应用项目刷新 404 问题 解决方案(以Apache为例)

    vue 项目 版本 Vue Cli 3.3 官方文档 https://router.vuejs.org/zh/guide/essentials/history-mode.html 因为本项目部署在 A ...

  8. Vue单文件组件

    前面的话 本文将详细介绍Vue单文件组件 概述 在很多 Vue 项目中,使用 Vue.component 来定义全局组件,紧接着用 new Vue({ el: '#container '}) 在每个页 ...

  9. vue入门之单文件组件

    介绍 在很多 Vue 项目中,我们使用 Vue.component 来定义全局组件,紧接着用 new Vue({ el: '#container '}) 在每个页面内指定一个容器元素. 这种方式在很多 ...

随机推荐

  1. 关于C#的学习

    长期以来对C#的认识一直停留在微软件开发的完全面向对象的语言的模糊印象上,对其工程也缺乏多文件以上级别的修改能力,而当前流行度的驱使下,想深入了解它并运用. 于是从git上下载了一个C#开源项目,打开 ...

  2. 删除文件中的 ^M 字符

    删除文件中的 ^M 字符 有时候,我们在 Linux 中打开曾在 Win 中编辑过的文件时,会在行尾看到 ^M 字符.虽然,这并不影响什么,但心里面还是有点不痛快.如果想要删除这些 ^M 字符,可以使 ...

  3. c# 使用Split分割 换行符

    c# 使用Split分割 换行符,方法如下(其余方法有空再添加): string str = "aa" + "\r\n" + "bb"; s ...

  4. (Java多线程系列三)线程间通讯

    Java多线程间通讯 多线程之间通讯,其实就是多个线程在操作同一个资源,但是操作的动作不同. 1.使用wait()和notify()方法在线程中通讯 需求:第一个线程写入(input)用户,另一个线程 ...

  5. docker容器的学习

    什么是docker   Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2.0 授权协议开源 ...

  6. Jdk1.7 与 jdk1.8的区别

    在jdk7的新特性方面主要有下面几方面的增强: 1.1二进制变量的表示,支持将整数类型用二进制来表示,用0b开头. 所有整数int.short.long.byte都可以用二进制表示: byte aBy ...

  7. Java8 Optional && Guava Optional

    Java8 -- Optional boolean isPresent():与obj != null()一样:调用get()前要调用isPresent()检查,不然会报错 Optional的三种构造方 ...

  8. leetcode-easy-string-14 Longest Common Prefix

    mycode   91.59% class Solution: def longestCommonPrefix(self, strs: List[str]) -> str: if not str ...

  9. SAP MaxDB日常运维—启动、关闭、磁盘扩容

    SAP MaxDB日常维护1.检查MaxDB状态,并启动su - pe0csccd /sapdb/SDB/db/bin./dbmcli -d SDB -u superdba,Mypassword db ...

  10. NOIP2010提高组真题部分整理(没有关押罪犯)

    目录 \(NOIP2010\)提高组真题部分整理 \(T1\)机器翻译: 题目背景: 题目描述: 输入输出格式: 输入输出样例: 说明: 题解: 代码: \(T2\)乌龟棋 题目背景: 题目描述: 输 ...