[color=#00b050]学 vue 的看过来,vue-cli 挺好用的,但是遇到具体情况还得做一部分调整和配置默认你已经成功启动 vue-cli
1.使用 scsscnpm i node-sass sass-loader -Dwebpack.base.config.js 里面加{ test: /.scss$/,loaders: ["style", "css", "sass"]},
2.vuex 在ie中不兼容cnpm i babel-polyfill -Dwebpack.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.jsproductionSourceMap: false,
7.反向代理 在 config/index.jsproxyTable: { '/api': { target: '',changeOrigin: true,pathRewrite: { '^/api': ''}}},为什么用,你做了就知道了
8.引入奥森字体import './assets/css/font-awesome.min.css'assets/cssassets/fontscss 和 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: '' distassetsPublicPath: '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 start12.移动端用 vux ui框架初始化cnpm install vue-cli -gvue init airyland/vux2 youProjectNamecd youProjectNamenpm installnpm 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]
- { { item.title }}
箭头函数才可以用this 不然需要在函数外先定义变量把this赋值给变量。