码迷,mamicode.com
首页 > Web开发 > 详细

webpack 配置流程记录

时间:2017-04-18 15:38:12      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:tin   webpack   process   文件配置   ssl   script   google   out   自动   

 vue项目实战记录,地址在这 购物车单界面   

npm install
npm run dev 

跑起来可以看到界面效果

 

这里简单记录一下webpack的编译流程

 

入口 package.json 

"scripts": {
    "dev": "node build/dev-server.js", //npm run dev ,执行这里
    "build": "node build/build.js"
  },

 

build文件下的dev-server.js文件

var config = require(../config)//引入的一个配置文件,运行时和开发时的一个配置文件

var webpack = require(webpack)
var opn = require(opn)
var proxyMiddleware = require(http-proxy-middleware)//http协议代理的一个中间链
var webpackConfig = require(./webpack.dev.conf)// 目前是开发环境,所以是dev.conf

 

webpack.dev.conf 的导入文件

var config = require(../config)
var webpack = require(webpack)
var merge = require(webpack-merge)
var utils = require(./utils)
var baseWebpackConfig = require(./webpack.base.conf) //导入基础配置文件
var HtmlWebpackPlugin = require(html-webpack-plugin)//webpack提供的一个操作html的插件
//具体看demo注释

 

webpack.base.conf 文件

var path = require(path)
var config = require(../config)
var utils = require(./utils)
var projectRoot = path.resolve(__dirname, ../)//定义了当前项目的根目录


entry: {
    app: ./src/main.js  //这个就是定义的入口文件了
  },
 output: {
    path: config.build.assetsRoot, //输出的文件路径,对应config文件加下的index.js文件的assetsRoot路径

    publicPath: process.env.NODE_ENV === production ? config.build.assetsPublicPath : config.dev.assetsPublicPath,
    filename: [name].js //对应的  entry的一个key ,这里就是app, app.js就是这么得来的

 resolve: {
//模块的相关配置
    extensions: [‘‘, .js, .vue, .json],//可以自动补全的后缀
    fallback: [path.join(__dirname, ../node_modules)],//当前端模块找不到的时候就从node_modules里面找
    alias: {
//提供的别名
      vue$: vue/dist/vue.common.js,
      src: path.resolve(__dirname, ../src),
      assets: path.resolve(__dirname, ../src/assets),
      components: path.resolve(__dirname, ../src/components)
    }

  module: {
//
    loaders: [
      {
//编译时候的处理,比如这里,对所有的js后缀文件babel loader做处理
       test: /\.js$/,
        loader: babel,  
        include: projectRoot, //检查该目录里面的文件
        exclude: /node_modules/  //排除这个目录里面的文件
      },

{

//这里有个query操作, 超过10KB的文件,对文件名做处理
        test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
        loader: url,
        query: {
          limit: 10000,
          name: utils.assetsPath(img/[name].[hash:7].[ext])
        }
      },
还有一个eslint, 做demo的时候我一般都直接去掉了,因为格式的错误提示很蓝瘦,有兴趣的可以Google


vue: {
//css文件配置,具体看utils.cssLoaders函数
    loaders: utils.cssLoaders({ sourceMap: useCssSourceMap }),
    postcss: [
      require(autoprefixer)({
        browsers: [last 2 versions]
      })
    ]
  }
dev-server.js

module.exports = app.listen(port, function (err) {//启动server监听端口,这里是8080,在dev里面配置
//通过localhost端口启动网页
  if (err) {
    console.log(err)
    return
  }
  var uri = http://localhost: + port
  console.log(Listening at  + uri + \n)

  // when env is testing, don‘t need open it
  if (process.env.NODE_ENV !== testing) {
    opn(uri)
  }
})

 

最近在学vue.js 高仿饿了么的实战项目,有需要视频的告诉我,给链接。

 

webpack 配置流程记录

标签:tin   webpack   process   文件配置   ssl   script   google   out   自动   

原文地址:http://www.cnblogs.com/L-vincen/p/6728041.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!