首页 > 代码库 > webpack 配置流程记录
webpack 配置流程记录
vue项目实战记录,地址在这 购物车单界面
npm installnpm 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的时候我一般都直接去掉了,因为格式的错误提示很蓝瘦,有兴趣的可以Googlevue: {//css文件配置,具体看utils.cssLoaders函数 loaders: utils.cssLoaders({ sourceMap: useCssSourceMap }), postcss: [ require(‘autoprefixer‘)({ browsers: [‘last 2 versions‘] }) ] }dev-server.jsmodule.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 配置流程记录
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。