webpack配置之webpack.config.js文件配置
webpack配置之webpack.config.js文件配置
1.总是手动的输入webpack的输入输出文件路径,是一件非常繁琐的事情。我们尝试用文件的形式将输入输出文件夹配置好。新建一个js文件,并命名为webpack.config.js【目前只能命名为这个,不然程序不识别】

2.在webpack.config.js文件内输入以下代码
module.exports = {
    entry: './src/main.js', //打包文件入口
    output: {               //打包文件出口
        path: './dist',
        filename: 'bundle.js'
    }
}
3.由于已经配置好输入输出文件夹,可以直接输入webpack运行指令,但是程序报错。

nvalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
The output directory as absolute path (required)"./dist" is not an absolute path!
The output directory as absolute path (required) #f00
4.这是因为上述文件的output对象的path属性必须是绝对路径,此时我们要引入路径依赖包path。该包有个方法path.resolve(__dirname,'dist')可以将相对路径转成绝对路径。其中__dirname指的是当前文件【webpack.config.js】的上一级路径.
 如webpack.config.js的路径为D:/aaa/bbb/webpack.config.js,
则__dirname为D:/aaa/bbb/,
path.resolve(__dirname,'dist')就是D:/aaa/bbb/dist.
5.引入path包,【该包有个方法path.resolve(__dirname,'dist')可以将相对路径转成绝对路径】并修改output对象的path属性。
const path = require('path'); //1.引入path包
module.exports = {
    entry: './src/main.js',
    output: {
        path: path.resolve(__dirname, 'dist'),//2.修改output对象的path属性
        filename: 'bundle.js'
    }
}

6.运行webpack指令,在dist文件夹下获得打包好的包。

7.由于我们使用的是npm指令对js项目进行管理,直接使用webpack指令会造成混乱,后期webpack指令过于繁琐或者配置更改后,webpack指令会容易出现错误,所以将通用的指令映射到/写到package.json文件内,是一个明智的选择。找到package.json文件,在其script属性下添加指令键值对,即key:value..由于webpack是打包指令,这里我们设定其key为build,value为webpack.

8.运行指令npm run build,输出如下图所示。

9.然后在index.html内用script标签引入,打开浏览器即可.

//test.js
function add(num1, num2) {
    return num1 + num2
}
function mul(num1, num2) {
    return num1 * num2
}
module.exports = {
    add,
    mul
}
//main.js
 const { add, mul } = require("./test.js");
console.log(add(20, 30));
console.log(mul(20, 30));

注意:之前直接在终端或者控制台使用webpack指令,使用的是全局安装的webpack包。不同项目使用的webpack的版本不一致,强行使用全局webpack会导致打包错误.在package.json的script添加webpack指令属于使用本地webpack
让我们再次回顾一下整个打包流程。
当我们在控制台/终端,直接输入webpack命令执行的时候,webpack做了以下几步:
1.首先,webpack发现,我们并没有通过命令的形式,给它指定入口和出口

2.webpack就会去项目的根目录中,查找一个叫做‘webpack.config.js的配置文件

3.当找到配置文件后,webpack会去解析执行这个配置文件,当解析执行完配置文件后,就得到了含有出入口路径的配置对象

4.当webpack拿到配置对象后,就拿到了配置对象中,指定的入口和出口,然后进行打包构建;

webpack配置之webpack.config.js文件配置的更多相关文章
- vue-cli3的vue.config.js文件配置,生成dist文件
		
//vue.config.jsonconst path = require('path'); // const vConsolePlugin = require('vconsole-webpack-p ...
 - webpack.config.js文件的高级配置
		
一.多个入口文件之前我们配置的都是 一个入口 var webpack = require('webpack'); var commonsPlugin = new webpack.optimize.Co ...
 - webpack配置:less/sass文件打包和分离、自动处理css前缀、消除未使用的css及完整的webpack.config.js文件
		
一.less文件打包和分离 1.要使用less,首先使用npm安装less服务:还需要安装Less-loader用来打包使用. npm install less --save-dev npm inst ...
 - [转]webpack4.0.1安装问题和webpack.config.js的配置变化
		
本文转自:https://blog.csdn.net/jiang7701037/article/details/79403637 The CLI moved into a separate packa ...
 - 手把手教你webpack、react和node.js环境配置(上篇)
		
很多人刚学习react的时候,往往因为繁琐的配置而头疼,这里我将手把手教大家怎么用webpack配置react和redux的环境,这篇教程包括前端react和后台node整个网站的环境配置,对node ...
 - webpack 4.0 配置文件 webpack.config.js文件的放置位置
		
一般webpack.config.js是默认放在根目录的,不在根目录的时候需要在package.json中制定位置,我的配置文件目录是config/webpack.config.js,在package ...
 - 手把手教你webpack、react和node.js环境配置(下篇)
		
上篇我介绍了前端下webpack和react.redux等环境的配置,这篇将继续重点介绍后台node.js的配置. 这里是上篇链接:手把手教你webpack.react和node.js环境配置(上篇) ...
 - webpack教程(二)——webpack.config.js文件
		
首先我们需要安装一个webpack插件html-webpack-plugin,该插件的作用是帮助我们生成创建html入口文件.执行如下命令 npm install html-webpack-plugi ...
 - wepy  build 错误  [Error] 未发现相关 less 编译器配置,请检查wepy.config.js文件。
		
[Error] 未发现相关 less 编译器配置,请检查wepy.config.js文件. 缺少less包,npm install less -d
 
随机推荐
- vue项目进行时,script标签中,methods事件中函数使用的async/await
			
用 async/await 来处理异步 await关键字只能放到async函数里面,通过await得到就是Promise返回的内容:当然也能通过then()去获取,若通过then()获取了则就无Pro ...
 - python 单引号、双引号和三引号混用
			
单引号: 当单引号中存在单引号时,内部的单引号需要使用转义字符,要不然就会报错: 当单引号中存在双引号时,双引号可以不用加转义字符,默认双引号为普通的字符,反之亦然. 双引号: 当双引号中存在双引号时 ...
 - Ubuntu18.04 安装netstat
			
关键命令 sudo apt-get install net-tools 参考博客:https://www.cnblogs.com/2sheep2simple/p/10611650.html
 - 在Scrapy里设置Cookies 要注意一点!
			
1.requests里设置cookies,可以将cookies放入headers里一同提交. {'Accept': 'text/html,application/xhtml+xml,applicati ...
 - java数据结构复习02
			
1.递归问题 1.1汉诺塔问题(递归) 问题描述三个柱子,起初有若干个按大小关系顺序安放的盘子,需要全部移动到另外一个柱子上.移动规则:在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘.移动 ...
 - 【JAVA】Maven profiles控制多环境数据源日志打包(转载)
			
https://blog.csdn.net/qq_17213067/article/details/81661295
 - idea 新手入门配置
			
1.配置新建类时,创建者信息 2.配置svn 1. 在idea中不显示无用的内容,配置如下 .hprof;.iml;.pyc;.pyo;.rbc;.yarb;~;.DS_Store;.git;.hg ...
 - solairs11与solairs10 ftp服务的区别
			
Migration from Solaris WU-FTPD to ProFTPD Introduction ------------ This document provides an overvi ...
 - 配置文件加载位置与多profile文件
			
一. 我们在编写配置文件时,文件名可以是: application-{profile}.properties 例如:我们有几个配置文件对应的是项目不同时期的配置文件 1.application-sit ...
 - SSM三大框架详细整合流程
			
1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One ...