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的更多相关文章

  1. 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 ...

  2. 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 ...

  3. 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 ...

  4. 减少打包组件vue.config.js——Webpack的externals的使用

    vue.config.js module.exports = { configureWebpack:{ externals: { vue: 'Vue', 'vue-router':'VueRouter ...

  5. 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 ...

  6. 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目 ...

  7. webpack入坑之旅(三)webpack.config入门

    这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...

  8. webpack.config.js配置文件

    1.基本配置 webpack在执行时,除在命令行传入参数,还可以通过指定的配置文件来执行.默认会搜索当前目录下webpack.config.js.这个文件是一个node.js模块,返回一个json格式 ...

  9. 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.安装 ...

随机推荐

  1. ROS里程计

    gmapping导航建图包里建图需要里程计信息,且导航也需要. 整个移动机器人的控制结构如下图所示,其中base_controller节点将订阅的cmd_vel信息通过串口或其它通信接口发送给下位机( ...

  2. hbase错误记录部分总结

    错误1:org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = Session expired ...

  3. Linux远程传输文件免密码

    首先为什么Linux远程传输要免密码?手动使用scp命令传输每次都要输密码太过麻烦了. 开发中有一句话,能复制粘贴尽量不要手打. 运维中有一句话,能脚本化实现尽量不要手动执行. 远程传输文件免密码的目 ...

  4. 给定一个二叉搜索树(BST),找到树中第 K 小的节点

    问题:给定一个二叉搜索树(BST),找到树中第 K 小的节点. 出题人:阿里巴巴出题专家:文景/阿里云 CDN 资深技术专家. 考察点: 1. 基础数据结构的理解和编码能力 2.  递归使用 参考答案 ...

  5. 三大框架 之 OGNL表达式

    目录 OGNL 什么是OGNL OGNL与EL表达式对比 OGNL功能 OGNL使用要素 OGNL入门 java程序使用ognl struts2中使用ONGL OGNL 什么是OGNL OGNL是Ob ...

  6. PostgreSQL学习笔记(九) 用户、角色、权限管理

    PostgreSQL是一个多用户数据库,可以为不同用户指定允许的权限. 角色PostgreSQL使用角色的概念管理数据库访问权限. 根据角色自身的设置不同,一个角色可以看做是一个数据库用户,或者一组数 ...

  7. Java上传视频(mencoder)

    页面: 上传文件时的关键词:enctype="multipart/form-data" <%@ page language="java" import=& ...

  8. 课程学习 - 人类疾病导论 | Introduction To Human Disease

    完美人类假设:一类人,具有最完美的基因组,享受最健康的环境和饮食,同时拥有最健康的思想情绪,最终以最长的寿命,自然死亡. 自然死亡是自然生命最终的归宿,这是写在目前基因组里的铁律! 不管科技如何发展, ...

  9. 一个机器绑两个IP可能存在的问题

    1.同一网段两个ip 无法绑到一个机器上. 因为会生成两条该网段路由,两个路由用于同网段报文相应,而实际ip选路时只会选择其中一条路由(估计会选择前面那一条)从一个网卡走.这样不管哪个网卡来的局域网内 ...

  10. Kali Linux又增加一个顶级域名kali.download

    Kali Linux又增加一个顶级域名kali.download 现阶段,kali.download只提供软件包和镜像下载.大家可以把该域名作为备选软件源来使用.形式如下: deb  http://k ...