zoukankan      html  css  js  c++  java
  • webpack的npm扩展使用

    一、NPM的扩展使用

    (1)  npm init:初始化一个Node.js项目------创建必须的package.json文件

           npm init -y:创建必须的package.json文件

    (2) npm help json:查看package.json文件中可用的所有条目

    (3) npm install xxx:下载安装指定的扩展依赖模块

         npm install  xxx  --save:下载并安装指定的依赖模块,并声明为"运行时依赖"

         npm install xxx ---save-dev:下载并安装指定的依赖模块,并声明为“开发时依赖”

         npm install:根据package.json中的“运行时依赖”和“开发时依赖”列表指定模块下载

    (4) npm run xxx:执行当前目录下 package.json中scripts所定义的命令;若xxx是test/start/stop/rebuild之一,可以省略

    掉run 简写为npm xxx,即npm run start等价于 npm start

    =============================================================

    package.json中的特殊用法:

    {

         “scripts”:  {     定义可以使用npm run 执行的命令

                    "test":"node  ./test.js",

                     "start": "node  ./main.js"

               }

         "dependencies":{   定义当前项目的“运行时依赖”

        "express":"^4.3.0",

        "mysql":"^2.16.0"

               },

         

          "devDependencies":{ 定义当前项目的“开发时依赖”

    "scss":"^1.15.0",

    "gulp":"2.0.0"

      }

    }

    运行时依赖:指当前项目在部署到服务器上供客户端请求时需要使用到的第三方模块

    开发时依赖:指当前项目在程序员开发阶段(在最终运行之前)需要使用到的第三方模块

    二、模块的使用

      注意:在JS中使用全局变量/函数,会自动成为全局对象的成员——称为“全局对象的污染问题”;后续重名的变量/函数会覆盖之前的变量/函数。 实际开发中,应努力避免使用全局变量/函数。

    解决方案—— 模块(Module)

     

    CommonJS中的模块规范

    ES6中的模块规范

    导出

    //x.js

    module.exports = {

      age: 20,

      work: function(){ }

    }

    //每个模块只能导出一次

    //x.js

    export var age = 20;

    export function work(){}

    //每个模块可以导出多个内部成员

    //x.js

    export default {

      age: 20,

      work: function(){}

    }

    //每个模块只能导出一个默认对象

    导入

    //y.js

    const obj = require('./x');

    console.log(obj.age);

    obj.work();

    //y.js

    import {age, work} from './x';

    console.log(age);

    work();

    //y.js

    import obj from './x';

    console.log(obj.age);

    obj.work();

    书写位置

    导入/导出可以写在顶级或内部

    导出/导入只能写在最顶级

    适用场合

    服务器端Node.js中使用;

    浏览器中不能使用

    服务器端Node.js不支持 —— 这是客户端浏览器中的JS模块规范!—— 目前所有浏览器都不能直接支持此规范!

    三、Webpack的使用

      官网www.webpackjs.com

      作用把多个静态资源文件(脚本/样式/图片等)“打包”为一个/少数几个静态资源文件 —— 减少客户端请求次数/数据传输量,提高Web访问效率。

      使用方法先使用传统方法写完一个Web项目(若干js/css/图片...),再使用Webpack把静态资源打包,在HTML中引入打包后的资源文件让客户端请求。

      使用步骤

      (0)按照传统方法编写Web项目

      (1)下载并安装Webpack所需要的所有模块

    npm  i   webpack  --save-dev

      (2)在项目根目录下创建Webpack主配置文件

    webpack.config.js   注意文件位置/名称

      (3)运行Webpack,读取配置文件,执行打包工作

    node  ./node_modules/webpack/bin/webpack.js

      (4)修改HTML文件,只引入打包后得到的打包文件即可

  • 相关阅读:
    iOS image.size大小实际输出的值跟图片像素的关系
    iOS 记录蓝牙传输相关进制转换/字节转换/NSData转换/大小端转换
    Objective-C 中Socket常用转换机制(NSData,NSString,int,Uint8,Uint16,Uint32,byte[])
    ios-如何将UIColor RGB颜色转换为uint32_t值
    iOS 多国语言判断
    android 通过WIFI调试和adb指令推送文件到安卓设备
    iOS ViewController跳转界面的几种方法简单总结
    整理汇总能够提升文字工作效率的工具app分享给大家
    js 把字符串转换成数组,数组去重后再转成字符串
    我和朋友写的《Go语言从基础到中台微服务实战开发》已出版在京东,当当上可以购买了
  • 原文地址:https://www.cnblogs.com/sna-ling/p/11629055.html
Copyright © 2011-2022 走看看