NPM 全称 Node Package Manager

  1. Node包管理和分发工具,可以把NPM理解为前端的Maven
  2. 我们通过npm可以很方便地下载js库,管理前端工程
  3. 最近版本的node.js已经集成了npm工具

NPM命令

  1. npm init
  2. 按照提示输入相关信息,如果是用默认值则直接回车即可:
  3. name: 项目名称
  4. version: 项目版本号
  5. description: 项目描述
  6. keywords: {Array}关键词,便于用户搜索到我们的项目
  7. 最后会生成package.json文件,这个是包的配置文件,相当于mavenpom.xml
  8. 本地安装:install命令用于安装某个模块
  9. npm install express
  10. 全局安装:使用全局安装会将库安装到全局目录下
  11. npm install jquery -g
  12. 批量下载
  13. 进入目录(package.json所在的目录)输入命令:npm install
  14. 淘宝NPM镜像
  15. 安装:npm install -g cnpm --registry=https://registry.npm.taobao.org
  16. 使用:cnpm install 需要下载的js
  17. 不安装 cnpm 只用淘宝镜像,设置 npm 的镜像:
  18. $ npm config set registry https://registry.npm.taobao.org/
  19. 执行下面的命令,确认是否切换成功:
  20. $ npm config get registry
  21. 运行工程
  22. npm run dev
  23. dev是开发阶段测试运行
  24. build是构建编译工程
  25. lint 是运行js代码检测

Webpack:模块和打包

  1. Webpack 是一个前端资源加载/打包工具:
  2. Webpack 可以将多种静态资源 jscssless 转换成一个静态文件,减少了页面的请求
  3. Webpack配置:
  4. JS打包:
  5. 1,创建src文件夹,在src文件夹下编写js文件(logic.js
  6. //commonjs的模块化规范
  7. module.exports = {
  8. add:function() {}
  9. }
  10. //ES6的模块化规范
  11. export const add = function() {}
  12. 2src下创建main.js
  13. //commonjs的模块化规范
  14. const {add} = require('./logic.js');
  15. console.log(add(100, 200));
  16. //ES6的模块化规范
  17. import {add} from "./logic.js";
  18. console.log(add(100, 200));
  19. 3,创建配置文件webpack.config.js ,该文件与src处于同级目录
  20. const path = require("path");
  21. module.exports = {
  22. entry: './src/main.js', //入口
  23. output: { //出口
  24. path: path.resolve(__dirname, './dist'),
  25. filename: 'bundle.js'
  26. }
  27. };
  28. 读取当前目录下src文件夹中的main.js(入口文件)内容,
  29. 把对应的js文件打包,打包后的文件放入当前目录的dist文件夹下,打包后的js文件名为bundle.js
  30. 4,执行编译命令:webpack
  31. 5,引入:<script src="./dist/bundle.js"></script>
  32. CSS打包:
  33. 1,安装 style-loader(将样式添加到DOM中) css-loader(加载)
  34. cnpm install style-loader css-loader --save-dev
  35. 2webpack.config.js
  36. const path = require("path");
  37. module.exports = {
  38. entry: './src/main.js',
  39. output: {
  40. path: path.resolve(__dirname, './dist'),
  41. filename: 'bundle.js'
  42. },
  43. module: {
  44. rules: [
  45. {
  46. test: /\.css$/,
  47. use: ['style-loader', 'css-loader'] //有顺序,从右到左
  48. }
  49. ]
  50. }
  51. };
  52. 3,运行webpack

详情请见https://www.webpackjs.com/loaders/#样式

NPM一Node包管理和分发工具的更多相关文章

  1. npm 是node.js下带的一个包管理工具

    npm 是node.js下带的一个包管理工具          npm install -g webpack webpack是一个打包工具 gulp是一个基于流的构建工具,相对其他构件工具来说,更简洁 ...

  2. 如何用Node编写命令行工具

    0. 命令行工具 当全局安装模块之后,我们可以在控制台下执行指定的命令来运行操作,如果npm一样.我把这样的模块称之为命令行工具模块(如理解有偏颇,欢迎指正) 1.用Node编写命令行工具 在Node ...

  3. NPM(Node.js) 使用介绍

    前言:express 推出了4.X,自己尝试了一下,出现了各种问题.结果查看了各种文档和问题,现在在这个给大家分享下4.X版本的安装. NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具, ...

  4. 通过npm写一个cli命令行工具

    前言 如果你想写一个npm插件,如果你想通过命令行来简化自己的操作,如果你也是个懒惰的人,那么这篇文章值得一看. po主的上一篇文章介绍了定制自己的模版,但这样po主还是不满足啊,项目中我们频繁的需要 ...

  5. windows 下更新 npm 和 node

    原文链接 公司的新项目要启动了,需要使用 Angular 4.0,并且使用 webpack 工具进行打包.所以就需要安装 node.node 的安装很简单,在 node 的官网 nodejs.org  ...

  6. Node.js 命令行工具的编写

    日常开发中,编写 Node.js 命令行工具来完成一些小任务是很常见的操作.其编写也不难,和日常编写 Node.js 代码并无二致. package.json 中的 bin 字段 一个 npm 模块, ...

  7. 【转载】linux下升级npm以及node

    原文:http://blog.csdn.net/qq_16339527/article/details/73008708 npm升级 废话不多说,直接讲步骤.先从容易的开始,升级npm. npm这款包 ...

  8. linux下升级npm以及node

    npm升级 废话不多说,直接讲步骤.先从容易的开始,升级npm. npm这款包管理工具虽然一直被人们诟病,很多人都推荐使用yarn,但其使用人数还是不见减少,况且npm都是随node同时安装好的,一时 ...

  9. 实用的 Node.js 教程,工具和资源

    这里分享一批实用的实用的 Node.js 教程,工具和资源. Node.js是一个建立在Chrome之上的JavaScript运行时平台,可方便地构建快速,可扩展的网络应用程序.Node.js使用事件 ...

随机推荐

  1. ios网络学习------2 用非代理方法实现同步post请求

    #pragma mark - 这是私有方法,尽量不要再方法中直接使用属性,由于一般来说属性都是和界面关联的,我们能够通过參数的方式来使用属性 #pragma mark post登录方法 -(void) ...

  2. Java 四种内部类

    静态内部类:类中静态类 成员内部类:类中非静态类 局部内部类:类中方法中有名字的类 匿名内部类:类中方法中无名的类 引言:在Java中通常情况下,一个类中会有属性和方法,但还可以包含内部类,内部类可以 ...

  3. 生成对抗网络(GAN)的18个绝妙应用

    https://juejin.im/post/5d3fb44e6fb9a06b2e3ccd4e 生成对抗网络(GAN)是生成模型的一种神经网络架构. 生成模型指在现存样本的基础上,使用模型来生成新案例 ...

  4. vue之自定义指令

    1.自定义指令的作用 除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令.注意,在 Vue2.0 中,代码复用和抽象的主要形式是组件.然而,有的情况下,你仍 ...

  5. Nginx的动静分离

    Nginx的动静分离 在之前我们的负载均衡中,我们再jsp中设置了一个背景,这是一个静态资源,Tomcat处理静态资源的效率并没有Nginx高,我们可以通过动静分离将静态资源和动态资源分割开来,Tom ...

  6. 作为互联网流量入口,CDN日志大数据你该怎么玩?

    CDN是非常重要的互联网基础设施,用户可以通过CDN,快速的访问网络中各种图片,视频等资源.在访问过程中,CDN会产生大量的日志数据,而随着如今越来越复杂的网络环境变化,和业务的迅速增长,日志数据变得 ...

  7. 创建用户的方法 3种mysql创建方法

    mysql创建用户的方法分成三种:INSERT USER表的方法.CREATE USER的方法.GRANT的方法.   一.账号名称的构成方式   账号的组成方式:用户名+主机(所以可以出现重复的用户 ...

  8. centos7构建kylo-0.10.1

      构建服务器使用centos7,8G内存.建议使用8G内存,因为内存不够失败了好几次. 系统需要提前安装一下组件: yum install -y gcc bzip2 rpm-build rpmdev ...

  9. hdu多校第十场 1009 (hdu6699) Block Breaker bfs/模拟

    题意: 紧密排列的方块因为摩擦力一个一个稳定地挤在一起,但当一个方块的四个邻居中,上下两个至少空缺一个,左右两个至少空缺一个,则这个方块也将掉落. 每次锤掉一个方块,求多少个方块受牵连落下. 题解: ...

  10. 事件绑定addEventListener

    通过addEventListener监听函数实现的dom事件绑定 addEventListener可以为当前dom添加一个事件(这个事件可以是个已有的事件),这就无法避免我们在写代码的时候重复去绑定同 ...