[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部分问题的更多相关文章

  1. Vue.js 和 MVVM 小细节

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...

  2. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  3. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  4. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  5. Vue + Webpack + Vue-loader 系列教程(2)相关配置篇

    原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ 使用预处理器 在 Webpack 中,所有的预处理器需要和一个相应的加载器一同使用.vue- ...

  6. Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇

    原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...

  7. 关于Vue.js 2.0 的 Vuex 2.0,你需要更新的知识库

    应用结构 实际上,Vuex 在怎么组织你的代码结构上面没有任何限制,相反,它强制规定了一系列高级的原则: 应用级的状态集中放在 store 中. 改变状态的唯一方式是提交mutations,这是个同步 ...

  8. Vue.js 2.0 和 React、Augular等其他框架的全方位对比

    引言 这个页面无疑是最难编写的,但也是非常重要的.或许你遇到了一些问题并且先前用其他的框架解决了.来这里的目的是看看Vue是否有更好的解决方案.那么你就来对了. 客观来说,作为核心团队成员,显然我们会 ...

  9. 窥探Vue.js 2.0 - Virtual DOM到底是个什么鬼?

    引言 你可能听说在Vue.js 2.0已经发布,并且在其中新添加如了一些新功能.其中一个功能就是"Virtual DOM". Virtual DOM是什么 在之前,React和Em ...

  10. 初探Vue

    Vue.js(读音/vju:/,类似于view),是近来比较火的前端框架,但一直没有怎么具体了解.实现过,就知道个啥的MVVM啦,数据驱动啦,等这些关于Vue的虚概念. 由于最近,小生在公司中,负责开 ...

随机推荐

  1. 洛谷3605 Promotion Counting

    线段树合并都是蓝题了嘛 我可能和时代脱轨了emm... 直接离散化然后合并就好啦w 生病了真难受QAQ //Love and Freedom. #include<cstdio> #incl ...

  2. Redis中的GETBIT和SETBIT

    来自:https://www.cnblogs.com/K-artorias/p/8463286.html Redis是in-memery的数据库,其优势不言而喻. 在学习到strings类型的常见命令 ...

  3. Ubuntu查看和自动挂载硬盘

    sudo blkid 查看UUID vim /etc/fstab 进行修改 如果 fstab 文件中的命令挂载的硬盘不存在,启动的时候会报错.

  4. pandas.DataFrame.sample

    DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)[sourc ...

  5. JavaScript的MD5加密

    1.首先要到http://pajhome.org.uk/crypt/md5/下载js文件. 2.在页面文件中添加: <script type="text/javascript" ...

  6. Appium环境搭建(Appium库的安装)

    Appium环境搭建 谷歌驱动和对照:注意:64位向下兼容,直接下载32位的就可以啦,亲测可用. https://blog.csdn.net/allthewayforward/article/deta ...

  7. Bootstrap 学习笔记3 输入框和导航组件

    导航组件: 导航条组件: 导航条代码: <nav class="navbar navbar-default"> <div class="containe ...

  8. 前端模块化开发的价值(seaJs)

    随着互联网的飞速发展,前端开发越来越复杂.本文将从实际项目中遇到的问题出发,讲述模块化能解决哪些问题,以及如何使用 Sea.js 进行前端的模块化开发. 恼人的命名冲突 我们从一个简单的习惯出发.我做 ...

  9. Cocos2d-x之Label

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 在游戏开发中经常会使用标签文字,例如,游戏介绍,玩家积分,菜单选项,文字提示等等.      LabelTTF 直接支持使用 TTF 字库 ...

  10. laravel打印查询的sql

    public function __construct( ){ $log = DB :: listen( function( $sql ){ echo $sql; } ); }