VUE使用脚手架和不使用脚手架

记录vue项目使用脚手架和不使用脚手架

1、vue-cli

①webpack 4.X 开始,需要安装 webpack-cli 依赖 ,所以使用这条命令  npm install webpack webpack-cli -g

②npm install --global vue-cli

③vue init webpack icey(项目名)

④输入一些项目信息

Project name (): -----项目名称,直接回车,按照括号中默认名字(注意这里的名字不能有大写字母,如果有会报错Sorry, name can no longer contain capital letters),阮一峰老师博客为什么文件名要小写,可以参考一下。

Project description (A Vue.js project): ----项目描述,也可直接点击回车,使用默认名字

Author (): ---输入名字

接下来会让用户选择:

Runtime + Compiler: recommended for most users 运行加编译,既然已经说了推荐,就选它了

Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specificHTML) are ONLY allowed in .vue files - render functions are required elsewhere 仅运行时,已经有推荐了就选择第一个了

Install vue-router? (Y/n) 是否安装vue-router,这是官方的路由,大多数情况下都使用,这里就输入“y”后回车即可。

Use ESLint to lint your code? (Y/n) 是否使用ESLint管理代码,ESLint是个代码风格管理工具,是用来统一代码风格的,一般项目中都会使用。

接下来也是选择题Pick an ESLint preset (Use arrow keys) 选择一个ESLint预设,编写vue项目时的代码风格,直接y回车

Setup unit tests with Karma + Mocha? (Y/n) 是否安装单元测试,我选择安装y回车

Setup e2e tests with Nightwatch(Y/n)? 是否安装e2e测试 ,我选择安装y回车

⑤npm i 安装依赖

⑥npm install -g cnpm --registry=https://registry.npm.taobao.org安装依赖的时候可能比较慢,安装淘宝镜像

⑦npm run dev启动项目

2、不使用脚手架构建项目

①建立webpack配置文件webpack.config.js

// 由于 webpack 是基于Node进行构建的,所有,webpack的配置文件中,任何合法的Node代码都是支持的

var path = require('path')

// 在内存中,根据指定的模板页面,生成一份内存中的首页,同时自动把打包好的bundle注入到页面底部

// 如果要配置插件,需要在导出的对象中,挂载一个 plugins 节点

var htmlWebpackPlugin = require('html-webpack-plugin')

var webpack=require('webpack');

favicon: path.resolve('favicon.ico')

// 当以命令行形式运行 webpack 或 webpack-dev-server 的时候,工具会发现,我们并没有提供 要打包 的文件的 入口 和 出口文件,此时,他会检查项目根目录中的配置文件,并读取这个文件,就拿到了导出的这个 配置对象,然后根据这个对象,进行打包构建

module.exports = {

  entry: path.join(__dirname, './src/main.js'), // 入口文件

  output: { // 指定输出选项

    path: path.join(__dirname, './dist'), // 输出路径

    filename: 'bundle.js' // 指定输出文件的名称

  },

  plugins: [ // 所有webpack  插件的配置节点

    new htmlWebpackPlugin({

      template: path.join(__dirname, './src/index.html'), // 指定模板文件路径

      filename: 'index.html' // 设置生成的内存页面的名称

    }),

    new webpack.ProvidePlugin({

      jQuery: 'jquery',

      $: 'jquery'

  })

  ],

  module: { // 配置所有第三方loader 模块的

    rules: [ // 第三方模块的匹配规则

      { test: /\.css$/, use: ['style-loader', 'css-loader'] }, // 处理 CSS 文件的 loader

      { test: /\.less$/, use: ['style-loader', 'css-loader', 'less-loader'] }, // 处理 less 文件的 loader

      { test: /\.scss$/, use: ['style-loader', 'css-loader', 'sass-loader'] }, // 处理 scss 文件的 loader

      { test: /\.(jpg|png|gif|bmp|jpeg)$/, use: 'url-loader?limit=7631&name=[hash:8]-[name].[ext]' }, // 处理 图片路径的 loader

      // limit 给定的值,是图片的大小,单位是 byte, 如果我们引用的 图片,大于或等于给定的 limit值,则不会被转为base64格式的字符串, 如果 图片小于给定的 limit 值,则会被转为 base64的字符串

      { test: /\.(ttf|eot|svg|woff|woff2)$/, use: 'url-loader' }, // 处理 字体文件的 loader

      { test: /\.js$/, use: 'babel-loader', exclude: /node_modules/ }, // 配置 Babel 来转换高级的ES语法

      { test: /\.vue$/, use: 'vue-loader' } // 处理 .vue 文件的 loader

    ]

  },

  resolve: {

    alias: { // 修改 Vue 被导入时候的包的路径

      // "vue$": "vue/dist/vue.js"

      'bootstrap': './node_modules/bootstrap'

    }

  }

}

②npm init 配置项目信息,生成package.json和package-lock.json文件

③npm i 安装依赖

你可能感兴趣的:(VUE使用脚手架和不使用脚手架)