vue部分问题
[color=#00b050]学 vue 的看过来,
vue-cli 挺好用的,但是遇到具体情况还得做一部分调整和配置
默认你已经成功启动 vue-cli
1.使用 scss
cnpm i node-sass sass-loader -D
webpack.base.config.js 里面加
{
test: /.scss$/,
loaders: ["style", "css", "sass"]
},
2.vuex 在ie中不兼容
cnpm i babel-polyfill -D
webpack.base.config.js 里面改
entry: {
app: ['babel-polyfill','./src/main.js']
},
3.图片引入问题
在 utils.js 找到 ExtractTextPlugin.extract
加 publicPath:'../../'
<img src="./a.jpg" alt="">
<img :src="{item}" alt="">
背景图 得用require('./a.jpg')
至于放在static里面,如果项目上线后不是放在根目录,会出错
4.vue-router 异步加载组件
路由里面写
{
path: '*',
component: resolve => require(['@/components/index/index'],resolve)
}
在 webpack.prod.conf.js 找到 chunkFilename
改 chunk[id]
防止出现 0.js 1.js 改后变成 chunk0.js
5.模拟数据
dev-server.js 里面借用 node 的 express
6.取消map,减轻打包量
在 config/index.js
productionSourceMap: false,
7.反向代理
在 config/index.js
proxyTable: {
'/api': {
target: 'http://localhost:8088/api',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
},
为什么用,你做了就知道了
8.引入奥森字体
import './assets/css/font-awesome.min.css'
assets/css
assets/fonts
css 和 fonts 在同一级目录
和以前用法一致,
9.定义全局公用方法
引入自定义的 ajax 绑定到全局 vue 上
import * as myapi from './assets/js/utils.js'
Object.defineProperty(Vue.prototype, '$ajax', { value: myapi.ajax });
10.配置打包后资源路径
在 config/index.js 改
assetsPublicPath: '/' 根目录
assetsPublicPath: './' 本地
assetsPublicPath: '${ctx}${themes_path}/' java代码
assetsPublicPath: 'http://localhost/dist/' dist
assetsPublicPath: 'www.aa.com/a/b/c/d' 层层嵌套的
看打包后项目放的路径
11.pc端用 element ui框架
按需引入 element 里面的单独的组件,否则全部引入有点大
cnpm i babel-plugin-component -D
.babelrc 配置
"plugins": ["transform-runtime",['component',[
{
"libraryName": "element-ui",
"styleLibraryName": "theme-default"
}
]]],
替换主题
去官网找,然后把下载的主题替换 node_modules 里面的 _element-ui/@1.4.2@element-ui/lib 里面的 theme-default
然后重新 npm start
12.移动端用 vux ui框架
初始化
cnpm install vue-cli -g
vue init airyland/vux2 youProjectName
cd youProjectName
npm install
npm run dev
vux 用的是less 不用配置就可以单独引入某个组件而不是整体
13.数据操作
lodash 在各个组件中可以单独引入,不用配置
天生的函数操作库,随便用
14.可配置
在 webpack.base.config.js 里面
resolve: {
// 需要忽略的后缀
extensions: ['.js', '.vue', '.json', '.css'],
// 别名,就是很长的路径用一个变量代替
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src')
}
},
{
test: /.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
options: {
// 10kb 以下的图片被编译成base64格式,可修改
limit: 10000,
// 自动生成一个7位数的hash,可去掉
name: utils.assetsPath('img/[name].[hash:7].[ext]')
}
},
[/color][color=#00b0f0][/color]
<template>
<div>
<ul>
<li v-for="item in itemlis">{{ item.title }}</li>
</ul>
</div>
</template> <script>
import css from '../assets/css/base.css'
import Vue from'vue'
import VueResource from 'vue-resource' Vue.use(VueResource)
export default {
name: 'HelloWorld', created:function(){
this.$http.get('api/seller').then((res)=>{
var arrJson=JSON.parse(res.bodyText)
this.itemlis=arrJson.data.list //注意使用箭头函数才可用this不然需要在函数外先定义变量把this赋值给变量
console.log(this.itemlis)
},function(err){
console.log(err)
})
},
//组件里面必须用函数,return方式获取data
data () {
return {
msg: 'Welcome to Your Vue.js App',
itemlis:[],
}
}
}
</script>
箭头函数才可以用this 不然需要在函数外先定义变量把this赋值给变量。
vue部分问题的更多相关文章
- Vue.js 和 MVVM 小细节
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
- Vue + Webpack + Vue-loader 系列教程(2)相关配置篇
原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ 使用预处理器 在 Webpack 中,所有的预处理器需要和一个相应的加载器一同使用.vue- ...
- Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇
原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...
- 关于Vue.js 2.0 的 Vuex 2.0,你需要更新的知识库
应用结构 实际上,Vuex 在怎么组织你的代码结构上面没有任何限制,相反,它强制规定了一系列高级的原则: 应用级的状态集中放在 store 中. 改变状态的唯一方式是提交mutations,这是个同步 ...
- Vue.js 2.0 和 React、Augular等其他框架的全方位对比
引言 这个页面无疑是最难编写的,但也是非常重要的.或许你遇到了一些问题并且先前用其他的框架解决了.来这里的目的是看看Vue是否有更好的解决方案.那么你就来对了. 客观来说,作为核心团队成员,显然我们会 ...
- 窥探Vue.js 2.0 - Virtual DOM到底是个什么鬼?
引言 你可能听说在Vue.js 2.0已经发布,并且在其中新添加如了一些新功能.其中一个功能就是"Virtual DOM". Virtual DOM是什么 在之前,React和Em ...
- 初探Vue
Vue.js(读音/vju:/,类似于view),是近来比较火的前端框架,但一直没有怎么具体了解.实现过,就知道个啥的MVVM啦,数据驱动啦,等这些关于Vue的虚概念. 由于最近,小生在公司中,负责开 ...
随机推荐
- Ubunu12.04 vncserver xstartup配置文件
以下有效: #!/bin/sh # Uncomment the following two lines for normal desktop: unset SESSION_MANAGER #exec ...
- 验证码生成(servlet)
一 效果如下: 二 java 代码如下: import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import j ...
- leetcode-15双周赛-1289-下降路径最小和
题目描述: 方法一:动态规划 O(N^3) class Solution: def minFallingPathSum(self, arr: List[List[int]]) -> int: n ...
- 用JSP实现WEB页面登录验证
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- Git 中关于一次完整的提交的命令
1.创建仓库(git init .git clone URL) 有两种新建 Git 项目仓库的方法.第一种是在本地通过初始化来创建新的 Git 仓库.第二种是从已有的 Git 远程仓库中克隆出一个仓库 ...
- HDU4762 Cut the Cake
HDU4762 Cut the Cake 思路:公式:n/m(n-1) //package acm; import java.awt.Container; import java.awt.geom.A ...
- UE编辑器
引用ue的js 下载地址http://pan.baidu.com/s/1gdrQ35L <script type="text/javascript" src="__ ...
- 我的WordPress站点
读取VDI文件 SSL和TLS Windows下使用vim的最佳方案:Sublime gdb用法 VMware的Guest与Host进行通信的三种方式 加密与解密 漫谈保护模式 processing学 ...
- Java并发AtomicBoolean类~
java.util.concurrent.atomic.AtomicBoolean类提供了可以原子读取和写入的底层布尔值的操作,并且还包含高级原子操作. AtomicBoolean支持基础布尔变量上的 ...
- this关键字与super关键字区别
this super 1 访问属性 访问本类中属性,如果本类中没有此属性,就从父类继承过来的属性中查找 (遵循就近原则) 访问父类中的属性 2 调用方法 访问本类中方法 直接访问父类中方法 3 ...