zoukankan      html  css  js  c++  java
  • webpack打包(二)

    首先创建一个文件夹叫做mydemo输入命令初始化项目。 --npm init

    然后在该文件夹中创建src文件夹用来放项目,在src文件夹里新建index.js、index.css和index.json三个文件;另外在src同级目录创建build文件夹用来存放打包后文件存放的地方。目录如图:

     然后在index.css中任意输入样式:

    1 html, body {
    2     height: 100%;
    3     background-color: red;
    4 }

    在index.js中输入任意js:

    1 function add (x, y) {
    2     return x + y;
    3 }
    4 
    5 console.log(add(1, 2));
    6 
    7 import name from './index.json';
    8 console.log(name);

    在index.json输入任意对象:

    1 {
    2     "name": "张三"
    3 }

    然后全局安装webpack和webpack-cli。--npm i webpack webpack-cli -g

    安装成功后提示我版本

     再在本地安装一遍。--npm i webpack webpack-cli -D

    安装成功后,我们开始以index.js为起点打包。

    先是开发环境打包看看输出的是什么。--webpack ./src/index.js -o ./build --mode=development

     这样表示打包成功,可以看到在build文件夹中生成了一个main.js文件。

     里面的内容呢也是没有压缩的,此时输入命令看下这个文件有没有正常解析成浏览器可以识别的js文件。 --node ./build/main.js

     这是一种检验方法,可以看到是成功的。

    还可以在build文件夹中创建一个index.html来引用这个打包的js文件来看看结果。

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     6     <title>webpack</title>
     7 </head>
     8 <body>
     9     <script src="./main.js"></script>
    10 </body>
    11 </html>

     也是能够正常输出的。

    那接下来我们打包到生产环境看看会怎么样。--webpack ./src/index.js -o ./build --mode=production

    这里注意一下,每次打包后的文件都会将前面的文件给覆盖掉。

    打包成功后我们可以看到main.js文件的内容非常的精简。

    再检验一下也能正常输出3和json的name为张三。

    因为之前也提到过webpack本身只能识别javascript文件(json也是javascript),不能识别css文件,那如果我们在这个index.js文件引入一个css文件再打包会怎么样呢?

    修改index.js中的代码:

    1 function add (x, y) {
    2     return x + y;
    3 }
    4 
    5 console.log(add(1, 2));
    6 import './index.css'
    7 import name from './index.json'
    8 console.log(name);

    然后再次打包会发现出现这个报错:

     提示已经很明显了,需要用一个loader来处理这个文件,也就是css文件。由此可见webpack如果不加loader的确是不能够打包css文件的。

    好了,以上就是关于webpack打包的一些操作。写在最后总结如下:

    一、初始化项目。

    npm init

    二、全局安装webpack和webpack-cli。

    npm i webpack webpack-cli -g

    三、本地安装webpack和webpack-cli。

    npm i webpack webpack-cli -D

    四、指定入口文件开始打包到输出目录

    //开发环境
    webpack ./src/index.js -o ./build --mode=development
    //生产环境
    webpack ./src/index.js -o ./build --mode=production

    区别:生产环境是将开发环境的代码进行压缩来输出。

  • 相关阅读:
    jS Ajax 上传文件报错"Uncaught TypeError: Illegal invocation"
    layer实现关闭弹出层刷新父界面功能详解
    PHP开发APP接口简单签名全过程(二)实际测试
    PHP开发APP接口简单签名全过程(一)
    Laravel 避免 Trying to get property of non-object 错误的六种方法 [新增第六种 data_get]
    在PHP代码中将HTML代码原样输出的方式
    在使用 Laravel Eloquent 模型时,我们要判断取出的结果集是否为空,但我们发现直接使用 is_null 或 empty是无法判段它结果集是否为空的!!!
    使用layer的iframe层提交表单后,需要关闭当前的iframe层,然后刷新父页面的方法
    laravel中如何实现验证码验证及使用
    递归思想的由来
  • 原文地址:https://www.cnblogs.com/pipim/p/13858820.html
Copyright © 2011-2022 走看看