当前位置: 首页 > news >正文

webpack4.0入门以及使用

1. 安装webpack

先新建一个文件夹(demos),然后

 

npm init -y

 

新建一个package.json然后在当前目录执行webpack命令

webpack

模块未发现或者未找到src文件,我们新建src文件夹(demos/src)

mdkir src

难道我们全局安装的webpack没用吗? 

 

最新官网出了一个常见的命令和一个参数: npx 和 -D 参数 (同时也昭告着,全局安装已经不再流行)

-D:--save-dev

npx:一个全新的本地安装器

 

全局安装:

npm i -g webpack && npm i -g webpack-cli && npm i -g webpack-dev-server

 

本地安装:

npm i -D webpack && npm i -D webpack-cli && npm i -D webpack-dev-server

 

 

无论是全局或者是本地,都可以使用! 最新的趋势就是本地(但你必须考虑外墙或使用淘宝镜像)

 

查看版本

npx webpack --version

 

那我们现在在当前目录执行

npx webpack

npm webpack

webpack

会出现什么情况?

很嗨皮,又是这个错误

 

实在看不懂,就去google翻译

大致意思如下:

  1. 未设定 mode,这是 webpack 4 引入的,有俩种模式,development 与 production,默认为 production - 其实还有一个隐藏的 none 模式,
  2. 入口模块不存在 - webpack 4 默认从项目根目录下的 ./src/index.js 中加载入口模块,所以我们或者新建一个 src/index.js 文件,或者指定一个入口文件。

然后,我们新建一个src/index.js

然后在当前目录运行

1.webpack
  或
2.npx webpack --mode development

卧槽,冒出来一个dist文件夹还有dist下面的main.js

还有啊,执行webpack那警告是什么啊?

警告配置
'模式'选项尚未设置。 将'mode'选项设置为'development'或'produ
ction'为该环境启用默认设置。

 

好吧,默认的webpack不行了,那我们采用第二种?

一点警告都没有! 我们启动了配置模式!!

 

我们在demos新建index.html

有的人很奇怪,为什么引用的是dist/main.js,而不是index.js,这主要是用户和我们开发用的ES7/8和浏览器兼容问题导致的

omg,缺少服务器,我的自动刷新怎么办!

npx webpack --mode development --watch

这样,就监控成功了,我们可以去index.js去修改一下并且查看

但是自动刷新浏览器,也就是热更新还未解决!

重新执行以下这条命令( webpack-dev-server 时指定 output.publicPath):

npx webpack-dev-server --mode development --output-public-path dist

打开浏览器,输入:

localhost:8080

加参数后,只是为了适合更加简单的搭配使用!

 

下面创建webapck.config.js(仿佛又回到了webpack3)

 一个示例:安装css加载器

 npm i -g css-loader style-loader

 

 

webpack.config.js

module.exports = {
    module: {
        rules: [{
            test: /\.css$/,
            use: [
                { loader: 'style-loader' },
                { loader: 'css-loader' }
            ]
        }]
    }
}

 

相关文章:

  • Node总结
  • Unity中的平移 缩放 旋转
  • android开发学习 ------- 【转】 android中的单例模式 (详解)
  • python学习笔记(数据类型)
  • P1073 最优贸易
  • 080.mycat和mycopy
  • [模板] LIS
  • 用户管理 useradd userdel usermod
  • canvas填充样式
  • 公钥加密—私钥签名
  • 网络应用框架Netty快速入门
  • Redux 中间件分析
  • c# yield关键字原理详解
  • 一个日期处理类库moment.js
  • 使用Kolla构建Pike版本OpenStack Docker镜像
  • 【翻译】babel对TC39装饰器草案的实现
  • Angular6错误 Service: No provider for Renderer2
  • Asm.js的简单介绍
  • C学习-枚举(九)
  • es6--symbol
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • k8s如何管理Pod
  • Rancher如何对接Ceph-RBD块存储
  • Spring Cloud Feign的两种使用姿势
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • Tornado学习笔记(1)
  • 包装类对象
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 模型微调
  • 那些被忽略的 JavaScript 数组方法细节
  • 深度解析利用ES6进行Promise封装总结
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 阿里云ACE认证学习知识点梳理
  • 容器镜像
  • ​secrets --- 生成管理密码的安全随机数​
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (Note)C++中的继承方式
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转) Android中ViewStub组件使用
  • .gitignore文件---让git自动忽略指定文件
  • .NET 4.0中的泛型协变和反变
  • .Net Remoting常用部署结构
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .NET序列化 serializable,反序列化