simple config of webpack
Demo1操作手册
本Demo演示进行简单配置的基本使用
准备环境
初始化环境, cd到demo目录之后, 执行如下命令:
npm init -y
npm install webpack webpack-cli -D
L0
实际上在大多开发中默认配置肯定是不够用的, 下面演示webpack的配置.
新建src目录, 在里面创建index1.js, 内容如下:
function hi() {
console.log('Hello Webpack!');
}
hi();
这个时候如果直接运行打包命令会报错, 因为已经没有了默认的入口文件了, 这个时候我们在根目录下添加webpack.config.js文件(这是webpack默认的配置文件的位置), 在里面输入如下内容:
module.exports = {
entry: './src/index1.js'
}
接下来我们使用wepack对该文件进行打包:
webpack
打包完之后, 可以看到根目录下多出了一个dist目录, 里面多了一个main.js的文件, 打包成功.
我们继续配置输出文件, 修改webpack.config如下:
const path = require('path');
module.exports = {
entry: './src/index1.js',
output: {
path: path.resolve(__dirname, 'dist1'),
filename: 'output.js'
}
}
修改完之后我们进行打包操作, 我们可以看到文件输出到了dist1/output.js, 运行一下发现一切正常, 我们成功配置了输出的目录和文件名.
L1
接下来的关于js配置都将在此项目中进行示范, 因此我们使用webpack命令的config参数来指定使用哪个配置文件来进行打包. 我们在根目录新建一个webpack.config的文件夹用来存放不同的配置文件. 同时为了方便运行, 我们将在package.json添加对应的scripts.
首先我们在webpack.config文件夹下新建文件l1.js, 内容如下:
const path = require('path');
module.exports = {
entry: {
output1: './src/index1.js',
output2: './src/index2.js'
},
output: {
path: path.resolve('dist'),
filename: '[name].js'
}
}
在package中添加如下scripts:
"l1": "webpack --config ./webpack.config/l1.js",
L1主要为了演示多文件入口, 因此我们在src目录下新建index2.js, 内容如下:
function hi() {
console.log('Hello Webpack, I\'m index2!');
}
hi();
我们执行如下命令来运行:
npm run l1
在上述配置文件中, 我们使用了两个入口文件, 同时在output中使用了[name]作为占位符来指代输出文件名.
因此, 实际上在之前的单入口文件的配置其实等价是:
module.exports = {
entry: {
main: './src/index.js',
}
}
simple config of webpack的更多相关文章
- webpack-dev-server --inline --progress --config build/webpack.dev.conf.js
vue 项目 npm run dev 运行时报错: npm ERR! xxx@1.0.0 dev: `webpack-dev-server --inline --progress --config b ...
- npm ERR! mathine_call@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js` npm ERR! Exit status 1
internal/modules/cjs/loader.js:583 throw err; ^ Error: Cannot find module 'webpack' at Function.Modu ...
- npm ERR! code ELIFECYCLE webpack-dev-server --inline --progress --config build/webpack.dev.conf.js`
“E:\Program Files\JetBrains\WebStorm 2018.1.4\bin\runnerw.exe” G:\node\nodejs\node.exe G:\node\nodej ...
- 减少打包组件vue.config.js——Webpack的externals的使用
vue.config.js module.exports = { configureWebpack:{ externals: { vue: 'Vue', 'vue-router':'VueRouter ...
- dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js` vue启动报错解决
这是因为webpack-dev-server版本和vue版本不一样,需要将webpack-dev-server卸载了,安装对应版本 查看vue版本是 vue -V 注意:V是大写 卸载npm unin ...
- self_vue@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js`
解决方案: 1.试一下 卸载npm uninstall webpack-dev-server,在安装这个npm i webpack-dev-server@2.9.7 2.删除node_modules目 ...
- webpack入坑之旅(三)webpack.config入门
这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...
- webpack.config.js配置文件
1.基本配置 webpack在执行时,除在命令行传入参数,还可以通过指定的配置文件来执行.默认会搜索当前目录下webpack.config.js.这个文件是一个node.js模块,返回一个json格式 ...
- vue-cli的webpack模版,相关配置文件dev-server.js与webpack.config.js配置解析
1.下载vue-cli npm install vue-cli -g vue-cli的使用与详细介绍,可以到github上获取https://github.com/vuejs/vue-cli 2.安装 ...
随机推荐
- C语言实现多线程排序
#include <stdio.h> #include <pthread.h> #include <stdlib.h> #include <string.h& ...
- CodeForeces 842d Vitya and Strange Lesson ——(带lazy标记的01字典树)
给一个序列,每次操作对这个序列中的所有数异或一个x,问每次操作完以后整个序列的mex值. 做法是去重后构建01字典树,异或x就是对root加一个x的lazy标志,每次pushDown时如果lazy的这 ...
- dbutils的环境搭建以及使用
DBUtils的简单实现方式 第一步.创建Java工程[此处使用的是maven工程]并导入jar包 <!--导入mysql数据库驱动--> <dependency> <g ...
- HugeGraph入门
一.HugeGraph简介 最近在搞好友推荐方便的工作,选择了图数据的方法,使用并学习了HugeGraph,再次记录一下. HugeGraph是百度在2018年中旬开源的一款图数据库(Graph Da ...
- agentzh 的 Nginx 教程(版本 2019.07.31)
agentzh 的 Nginx 教程(版本 2019.07.31) agentzh 的 Nginx 教程(版本 2019.07.31) https://openresty.org/download/a ...
- Java Web J2EE下的两大框架SSH和SSM对比
当下流行的两种企业开发MVC开源框架,是我们Java程序猿必备知识能力.MVC,即模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界 ...
- leetcode 542. 01 Matrix 、663. Walls and Gates(lintcode) 、773. Sliding Puzzle 、803. Shortest Distance from All Buildings
542. 01 Matrix https://www.cnblogs.com/grandyang/p/6602288.html 将所有的1置为INT_MAX,然后用所有的0去更新原本位置为1的值. 最 ...
- Android利用canvas画各种图形
Android利用canvas画各种图形(点.直线.弧.圆.椭圆.文字.矩形.多边形.曲线.圆角矩形) 本文链接:https://blog.csdn.net/rhljiayou/article/det ...
- flutter 主页面底部导航栏实现以及主题风格设置
import 'package:flutter/material.dart'; import 'package:flutter_app/bottom_navigation_widget.dart'; ...
- 【swoole】PHP+Swoole+Linux实现进程监控
脚本代码 class Server { const PORT = 8888; public function port() { //netstat -anp 2>/dev/null| grep ...