webpack 學習筆記

這幾天進入新公司,領導讓我學習下 vue 的知識,正好學習下 webpack 的使用。vue

基礎使用node

建立 vue 項目:  vue init webpack 程序名稱
添加依賴包:    npm/cnpm install 包名 --save-dev
調試:       npm run dev
打包:       npm run build
調試和構建的命令可在 package.json 中進行配置修改

 

一、package.json 文件介紹webpack

  程序所依賴的包的引用信息和調試、build 的命令都在該文件中配置。web

  這裏主要介紹部分信息:npm

基礎配置信息:json

1   "name": "xjtest",                           // 項目名稱
2   "version": "1.0.0",                         // 版本
3   "description": "A Vue.js project",        // 簡介
4   "author": "",                               // 做者

命令配置信息:webpack-dev-server

  這裏配置的就是程序調試、打包等命令信息學習

1 "scripts": {
2     "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
3     "start": "npm run dev",                     
4     "build": "node build/build.js"
5   }

  以上這些命令能夠本身添加或修改,好比咱們須要同時開發 PC 站和 Mobile 站的話,咱們能夠在這裏定義不一樣的運行和打包命令,以下:ui

1 "scripts": {
2     "dev-pc": "node compile/build/dev-server.js",
3     "dev-mobile": "node compile/build/dev-server.js -mobile",
4     "start": "node build/dev-server.js",
5     "build-pc": "node compile/build/build.js",
6     "build-mobile": "node compile/build/build.js -mobile"
7   }

 

二、 build 文件介紹spa

  這裏是存放調試和打包必須的配置信息的地方,由上面的 scripts 配置信息能夠看出。

  build.js 文件介紹:

 1 'use strict'
 2 require('./check-versions')()
 3 // 環境變量設置
 4 process.env.NODE_ENV = 'production'
 5 
 6 // 引入依賴
 7 const ora = require('ora')
 8 const rm = require('rimraf')
 9 const path = require('path')
10 const chalk = require('chalk')
11 const webpack = require('webpack')
12 const config = require('../config')    // 項目配置文件
13 const webpackConfig = require('./webpack.prod.conf')    // webpack 配置信息
14 var utils = require('./utils')     // 基礎操做定義
15 
16 const spinner = ora('building for production...')
17 spinner.start()
18 
19 rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
20   if (err) throw err
21     // 這是經過加載 webpackConfig 來對項目進行打包
22   webpack(webpackConfig, (err, stats) => {
23     spinner.stop()
24     ....
25   })
26 })

  webpack.base.conf 介紹:

 1   entry: 'main.js',    // 程序入口
 2 
 3   // 輸出信息
 4   output: {
 5     path: config.build.assetsRoot,     // 從配置中讀取輸出路徑
 6     filename: '[name].js',     // 輸出的文件名
 7     // 根據環境變化設置發佈路徑
 8     publicPath: process.env.NODE_ENV === 'production'
 9       ? config.build.assetsPublicPath
10       : config.dev.assetsPublicPath
11   },

  webpack.prod.conf 介紹:

 // 輸出設置,同上
 output: {
    path: config.build.assetsRoot,
    filename: utils.assetsPath('[name].js'),
    chunkFilename: utils.assetsPath('[id].js')
  },
相關文章
相關標籤/搜索