vue流程搭建项目

第一模块

npm install -g vue-cli

1.创建项目

vue init webpack buying(项目文件夹名)

2.安装依赖

cd buying

npm i

3.安装第三方插件

状态管理:npm install vuex --save

移动框架:npm i vant -S

语言包:npm install vue-i18n --save-dev

3.1请求:npm install axios --save

css编译器stylus:npm install stylus stylus-loader style-loader --save-dev

css编译器less:npm install less less-loader --save-dev

在【build】文件下的【webpack.base.conf.js】文件中【rules】中加入

        test: /.less$/, 

        loader: "style-loader!css-loader!less-loader", 

      },

报错:Module build failed: TypeError: loaderContext.getResolve is not a function

**解决方法:**卸载安装的高版本的less-loader,

npm uninstall less-loader

安装指定低版本的less-loader

npm install less-loader@4.1.0 --save

3.2为了解决post默认使用的是x-www-from-urlencoded 去请求数据,导致请求参数无法传递到后台,所以还需要安装一个插件QS

npm i qs

3.3移动端适配插件lib-flexible

npm i lib-flexible --save-dev

用法:在main.js中引入lib-flexible

import 'lib-flexible/flexible'

3.4安装px2rem loader

npm install px2rem-loader --save-dev

用法:配置px2rem-loader

在build文件中找到util.js,将px2rem-loader添加到cssLoaders中,

如:

const cssLoader = {

    loader: 'css-loader',

    options: {

      minimize: process.env.NODE_ENV === 'production',

      sourceMap: options.sourceMap

    }

  }

  const px2remLoader = {

    loader: 'px2rem-loader',

    options: {

      remUnit: 75

    }

  }

同时,在generateLoaders方法中添加px2remLoader

function generateLoaders (loader, loaderOptions) {

    const loaders = [cssLoader,px2remLoader]

    if (loader) {

      loaders.push({

        loader: loader + '-loader',

        options: Object.assign({}, loaderOptions, {

          sourceMap: options.sourceMap

        })

      })

    }

3.5滑动

npm install swiper --save-dev

用法

import Swiper from 'swiper';

import 'swiper/dist/css/swiper.min.css';

3.6上啦刷新下拉加载

npm install better-scroll --save-dev

用法

import Scroll from '@/components/scroll/scroll'

export default {

  components: {

    Scroll

  },

}

启动

npm run dev

打包

npm run build

空格报错解决

在webpack.base.conf.js注释掉下面那一行

module: {

    rules: [

      // ...(config.dev.useEslint ? [createLintingRule()] : []),

      {

        test: /\.vue$/,

        loader: 'vue-loader',

        options: vueLoaderConfig

      },

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容