vue-cli + webpack + Browsersync 进行移动端的同步调试

准备工作

在使用脚手架安装 Vue 项目的时候,首先要安装好,node.js、npm 或 cnpm、webpack,可以使用以下命令进行查看并确认是否安装

// 查看 node 版本
$ node -v
// 查看 npm 版本
$ npm -v
// 查看 cnpm 版本
$ cnpm -v

vue-cli + webpack + Browsersync 进行移动端的同步调试_第1张图片

安装

使用脚手架安装 vue 项目,安装脚手架:

// 脚手架安装
npm install -g vue-cli
// 安装项目
vue init webpack projectName

vue-cli + webpack + Browsersync 进行移动端的同步调试_第2张图片
如果对配置项不了解,就可以一路回车直接创建,熟悉的可以按照个人需求进行配置,最好搜索了解下,这里就不详细展开了

启动

路径切换到项目中,首先要先安装依赖npm install或者cnpm install,安装好之后,然后使用 npm run dev启动项目
vue-cli + webpack + Browsersync 进行移动端的同步调试_第3张图片
vue-cli + webpack + Browsersync 进行移动端的同步调试_第4张图片
此时可以通过 http://localhost:8080访问项目,如果出现以下页面则说明项目创建成功了

vue-cli + webpack + Browsersync 进行移动端的同步调试_第5张图片
vue-cli + webpack + Browsersync 进行移动端的同步调试_第6张图片
vue-cli + webpack + Browsersync 进行移动端的同步调试_第7张图片

'use strict'
// Template version: 1.3.1
// see http://vuejs-templates.github.io/webpack for documentation.
const path = require('path')

module.exports = {
  dev: {
    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {},

    // Various Dev Server settings
    host: 'localhost', // can be overwritten by process.env.HOST
    port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
    autoOpenBrowser: false,
    errorOverlay: true,
    notifyOnErrors: true,
    poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-

    // Use Eslint Loader?
    // If true, your code will be linted during bundling and
    // linting errors and warnings will be shown in the console.
    useEslint: true,
    // If true, eslint errors and warnings will also be shown in the error overlay
    // in the browser.
    showEslintErrorsInOverlay: false,

    /**
     * Source Maps
     */
    // https://webpack.js.org/configuration/devtool/#development
    devtool: 'cheap-module-eval-source-map',

    // If you have problems debugging vue-files in devtools,
    // set this to false - it *may* help
    // https://vue-loader.vuejs.org/en/options.html#cachebusting
    cacheBusting: true,
    cssSourceMap: true
  },

  build: {
    // Template for index.html
    index: path.resolve(__dirname, '../dist/index.html'),

    // Paths
    assetsRoot: path.resolve(__dirname, '../dist'),
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    /**
     * Source Maps
     */
    productionSourceMap: true,
    // https://webpack.js.org/configuration/devtool/#production
    devtool: '#source-map',

    // Gzip off by default as many popular static hosts such as
    // Surge or Netlify already gzip all static assets for you.
    // Before setting to `true`, make sure to:
    // npm install --save-dev compression-webpack-plugin
    productionGzip: false,
    productionGzipExtensions: ['js', 'css'],
    // Run the build command with an extra argument to
    // View the bundle analyzer report after build finishes:
    // `npm run build --report`
    // Set to `true` or `false` to always turn it on or off
    bundleAnalyzerReport: process.env.npm_config_report
  }
}

安装 Browsersync

省时的浏览器同步测试工具 browsersync:browsersync官网.

Browsersync能让浏览器实时、快速响应您的文件更改(html、js、css、sass、less等)并自动刷新页面。更重要的是 Browsersync可以同时在PC、平板、手机等设备下进项调试。您可以想象一下:“假设您的桌子上有pc、ipad、iphone、android等设备,同时打开了您需要调试的页面,当您使用browsersync后,您的任何一次代码保存,以上的设备都会同时显示您的改动”。无论您是前端还是后端工程师,使用它将提高您30%的工作效率。

vue-cli + webpack + Browsersync 进行移动端的同步调试_第8张图片
vue-cli + webpack + Browsersync 进行移动端的同步调试_第9张图片
安装 BrowserSync
您可以选择从Node.js的包管理(NPM)库中 安装BrowserSync。使用包管理器下载BrowserSync文件,并在全局下安装它们,这样就可以在所有项目(任何目录)中使用。打开一个终端窗口,运行以下命令:

// 全局安装 browsersync
$ npm install -g browser-sync

当然您也可以结合gulpjs或gruntjs构建工具来使用,在您需要构建的项目里运行下面的命令:

// 局部项目内安装
$ npm install --save-dev browser-sync

vue-cli + webpack + Browsersync 进行移动端的同步调试_第10张图片

启动 BrowserSync

一个基本用途是,如果您只希望在对某个css文件进行修改后会同步到浏览器里。那么您只需要运行命令行工具,进入到该项目(目录)下,并运行相应的命令:

静态网站

如果您想要监听.css文件, 您需要使用服务器模式。 BrowserSync 将启动一个小型服务器,并提供一个URL来查看您的网站。

// --files 路径是相对于运行该命令的项目(目录) 
$ browser-sync start --server --files "css/*.css"

如果您需要监听多个类型的文件,您只需要用逗号隔开。例如我们再加入一个.html文件

// --files 路径是相对于运行该命令的项目(目录) 
$ browser-sync start --server --files "css/*.css, *.html"
// 如果你的文件层级比较深,您可以考虑使用 **(表示任意目录)匹配,任意目录下任意.css 或 .html文件。 
$ browser-sync start --server --files "**/*.css, **/*.html"

我们做了一个静态例子的示范,您可以下载示例包,文件您可以解压任何盘符的任何目录下,不能是中文路径。打开您的命令行工具,进入到BrowsersyncExample目录下,运行以下其中一条命令。Browsersync将创建一个本地服务器并自动打开你的浏览器后访问http://localhost:3000地址,这一切都会在命令行工具里显示。你也可以查看Browsersync静态示例视频

// 监听css文件 
$ browser-sync start --server --files "css/*.css"
// 监听css和html文件 
$ browser-sync start --server --files "css/*.css, *.html"

动态网站

如果您已经有其他本地服务器环境PHP或类似的,您需要使用代理模式。 BrowserSync将通过代理URL(localhost:3000)来查看您的网站。

// 主机名可以是ip或域名
$ browser-sync start --proxy "主机名" "css/*.css"

在本地创建了一个PHP服务器环境,并通过绑定Browsersync.cn来访问本地服务器,使用以下命令方式,Browsersync将提供一个新的地址localhost:3000来访问Browsersync.cn,并监听其css目录下的所有css文件。

$ browser-sync start --proxy "Browsersync.cn" "css/*.css"
一点建议

我们建议您结合gulp或grunt来使用,我们这里有详细说明Gulp文档、Grunt文档。如果您还没有使用gulp或grunt,那么可以通过以上方式创建Browsersync

Vue项目中使用

在启动项目之后,在项目根目录下再打开个终端,执行启动 的命令:

$ browser-sync start --proxy "localhost:8080" "*"

执行完命令后,会自动跳转到 http://localhost:3000/#/页面,则代理成功
vue-cli + webpack + Browsersync 进行移动端的同步调试_第11张图片

你可能感兴趣的:(┈━═☆,Vue,框架)