npm、webpack、vue-cli 快速上手版

Node.js   npm

什么是Node.js  以及npm

简单的来说 Node.js 就是运行在服务端的JavaScript,基于Chrome V8 引擎的。

npm 是Node.js 的包管理工具。

npm的安装和更新

Node.js下载安装   Node.js 官网下载安装。npm自带的包管理工具。

查看安装版本信息:

  --  node -v  查看Node.js 版本信息

  --  npm -v  查看npm版本信息

更新npm到指定版本:

  --  npm install npm@5.3.0 -g

  -- npm install npm@latest -g 更新最新的稳定版本

npm 常用操作

之前我们用JQuery或者Bootstrap用cdn 或者直接手动下载并放入项目,而且要管理版本。

有了npm,我们管理自己的依赖包以及版本更加简单。

到自己项目目录下,进行以下命令:

  -- npm init -y    输入-y使用默认配置项 生成package.json文件。

  -- npm i jquery@0.0.0   简写install 为 i 下载依赖  不写@ 默认最新版本

  -- npm uninstall jquery  卸载依赖包

  -- npm update jquery   更新依赖包

  -- npm list  列出已安装的依赖

  -- npm install webpack --D 保存为开发环境依赖

  -- 老版本需要 --save 参数 现在不需要了

我们的项目目录下会生成一个 node_modules 目录,我们用npm下的包会在这个目录下。

我们所有的依赖信息放在package.json文件中,包括我们所有的依赖以及版本。

如果我们删掉 node_modules目录,可以使用 npm i  来下载所有依赖。

npm 常用配置项

当我们用npm init 的时候用了参数 -y,如果不用-y我们可以进行一些配置。

在我们的package.json文件中有很多配置项

  -- name  项目名字 中间不能有空格只能用小写

  -- version  项目版本

  -- description   项目描述信息

  -- main  项目的入口文件

  -- scripts 指定命令的快捷方式 npm run test     test是scripts里的键名 值为具体命令

  -- author 作者

  -- license  许可证

  -- dependencies  生成环境依赖的包以及版本信息

  -- devDependencies  开发环境的依赖

webpack3

webpack是什么

webpack是一个模块打包器,它将根据模块的依赖关系进行静态分析,

然后将这些模块按照指定的规则生成静态资源。

那么,我们为什么要用这个东西呢~~因为前端的包袱太多,历史遗留问题太重~~~脑补吧......

安装和配置

webpack是跑在Node.js环境下的,所以确定自己有node环境。

安装方式:

  -- npm install webpack -g  全局安装

  -- webpack  <要打包文件>  <打包后文件>     全局这种方式进行打包

  -- npm install webpack   在自己的项目下 npm init 后在下载webpack 这就是局部安装

  -- node_modules/.bin/webpack <要打包文件>  <打包后文件>   项目里要打包文件是入口文件

  -- 路径太长 太烦 可以自定义命令  在package.json 文件的 scripts下面自定义

entry 和 output

entry 入口文件  output 出口文件

上面我们自定义命令的时候 命令太长了~~而且我们命令太多的时候我们需要每次都自定义多条命令~~

我们可以把命令写在webpack.config.js文件中~~

module.export = {// 所有的入口文件
    entry: {home: './main.js', login: './login.js',}, // 出口文件  
    output: {filename: '[name].bundle.js',path: __dirname + '/dist',}       
}
// backage.json  下的scripts
scripts: {"pack": "node_moudles/.bin/webpack --watch"
}//  运行命令
npm  run pack
webpack.config.js

webpack4

webpack的新特性

1, webpack不在单独使用,需要webpack-cli

  -- 全局安装  npm install webpack webpack-cli -g -D

  -- 局部安装  npm install webpack webpack-cli -D

2, 增加了模式区分 (development, production)

  --webpack --mode development/production 进行模式切换

  -- development 开发者模式 打包默认不压缩代码

  -- production  生产者模式 上线时使用,压缩代码。 默认是这个模式

3,固定入口目录为src,与入口默认文件index.js,打包后文件在新增的dist目录下

  -- 当只有一个入口文件也就是src/index.js时,无需增加webpack.config.js

4,多入口以及多出口

entry: {// 多入口a: "./src/js/index.js",b: "./src/js/index2.js",
}
output: {// 多出口path: path.resolve(__dirname, 'dist'),filename: './js/[name].bundle.js'
}
webpack.config.js  

vue-cli

vue-cli是官方提供的快速构建这个单页面应用的脚手架。

根据官方文档中的构件流程:

  -- 前提是已经安装了node.js 否则npm都用不了

  -- 1,使用npm全局安装vue-cli 

      npm install -g vue-cli

  -- 2, 安装完成后在自己的工作空间里

      vue init webpack vue-demo  

    输入命令后进入安装阶段,需要用户输入一些信息 这里省略了.....

  -- 3,切换到我们的项目目录下 

      cd vue-demo

      npm run dev

目录结构:

  -- build 里面是一些操作文件,使用npm run * 时其实执行的就是这里的文件

  -- config 配置文件,执行文件需要的配置信息

  -- src 资源文件 所有的组件以及所有的图片 都在这个文件夹下

  -- node_modules  项目依赖包

  -- static 静态资源

  -- package.json   依赖包的json文件

其实这里面命令很多~我们在后续项目中应用到再说~~~

vue-cli配置JQuery、bootstrap

第一步  下载安装

  -- npm install jquery 

  -- npm install bootstrap 

第二步 修改build/webpack.base.conf.js

const webpack = require('webpack')
// 在module.exports里添加插件
plugins: [new webpack.ProvidePlugin({$: "jquery",jQuery: "jquery","windows.jQuery": "jquery",// Popper: ['popper.js', 'default']
    })
],
//  *******下面是如果手动下载bootstrap用的*******
resolve: {extensions: ['.js', '.vue', '.json'],alias: {'vue$': 'vue/dist/vue.esm.js','@': resolve('src'),// 如果是手动下载的bootstrap需要添加这个配置// 'assets': path.resolve(__dirname, '../src/assets'),// 'jquery': 'jquery/src/jquery'
    }},
修改配置文件

第三步 修改主程序的js文件 main.js

import $ from 'jquery'
import 'bootstrap/dist/css/bootstrap.min.css'
import 'bootstrap/dist/js/bootstrap.min.js'
main.js 

 可以用啦~~~~~

vue-cli 3.0

第一步 下载vue-cli 3.0

  -- npm install -g @vue/cli

  -- 报错 npm error  可以运行下面命令

    -- npm cache clean --force && npm cache verify

第二步 创建项目

  -- vue create xxxx

  之后会出现很多选项,我们可以根据自己的习惯去选择~~

第三步 目录结构以及配置文件

  -- vue-cli3 目录更加简单

  -- 我们手动在项目根目录下创建  vue.config.js 里面写vue的配置信息

vue-cli3 配置jQuery、bootstrap

  -- 跟vue-cli2一样的配置,手动创建一个webpack.base.conf.js 

转载于:https://www.cnblogs.com/caodneg7/p/9954803.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412837.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea修改maven helper右键run maven的位置

idea修改 maven helper右键run maven的位置 现在调整到最上面后&#xff0c;进行maven的命令操作就非常的方便了&#xff01;

springboot webservice cxf 客户端调用

大家好&#xff0c;我是烤鸭&#xff1a; 这篇文章分享的是xcf webservice接口调用。如果接口提供方要求是webservice调用的话&#xff0c;可以参考这篇内容。 1. pom文件 <dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-front…

[css] 说说你对css的will-change属性的理解,它有什么作用呢?

[css] 说说你对css的will-change属性的理解&#xff0c;它有什么作用呢&#xff1f; 告诉浏览器,这个元素的某些属性可能会频繁变动触发回流&#xff0c;要求浏览器给予资源进行优化&#xff0c;一般浏览器会给这个元素单独生成一个图层渲染,gpu加速等提前优化手段 不应过度使…

MFC版链表实现稀疏多项式相加减

链表实现多项式运算&#xff08;加减&#xff09;MFC可视化版题目 设计一个一元稀疏多项式简单计算器。 基本要求 &#xff08;1&#xff09;输入并建立两个多项式&#xff1b; &#xff08;2&#xff09;多项式a与b相加&#xff0c;建立和多项式c&#xff1b; &#xff08;3&a…

WindTerm导出会话

WindTerm的session配置并无法被适用于其他软件中&#xff0c;所有的session保存在WindTerm安装路径下的profiles文件夹内&#xff0c;如果需要更新版本或回退&#xff0c;将所安装的版本覆盖即可&#xff0c;或是将profiles复制于新路径下。 图标闪烁设置、会话保存-导入导出 …

[官方] mysql 性能优化文档(中英文自译)

大家好&#xff0c;我是烤鸭&#xff1a; 根据官方文档翻译并精简部分内容。建议有时间的朋友下载原版查看&#xff0c;全文106页pdf&#xff0c;快的话1-2天就能看完。自己翻译的有些地方可能不完整&#xff0c;欢迎指正。官方pdf下载&#xff0c;需登录&#xff1a;https://w…

使用wiki.js部署团队知识库

1.安装NODE.JS 参考教程 https://xie.infoq.cn/article/6820ea5b625f4e163ccb76cec 1.1 下载nodejs安装包 http://nodejs.cn/download/ 1.2 上传到服务器soft目录后进行解压 # 解压 tar -xf node-v16.18.0-linux-x64.tar.xz # 删除安装包 rm -rf node-v16.18.0-linux-x64.ta…

[css] transition、animation、transform三者有什么区别?

[css] transition、animation、transform三者有什么区别&#xff1f; transition:比较简单的过度动画animation: 使用keyframe自定义动画,比较详细的动画过程transform: 2D或者3D的变形属性个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c…

mysql性能调优精简版

大家好&#xff0c;我是烤鸭&#xff1a; 这是根据官方文档提炼出的mysql性能优化总结。 想看完整翻译版的请看 https://blog.csdn.net/Angry_Mills/article/details/87720396 1. 成本优化 成本包含&#xff1a; IO 和 CPU 从硬盘读取的花费 模型包含&#xff1a; 全表…

Java面试总结

1. HashMap与HashTable的区别 Hashmap的key、value都可以为空&#xff0c;但key只能有一个为空&#xff0c;value可以有多个&#xff0c;非同步 HashTable的key、value都不能为空&#xff0c;是同步的&#xff0c;线程安全 因为hashtable,concurrenthashmap它们是用于多线程的&…

[css] 如何使用css3实现一个div设置多张背景图片?

[css] 如何使用css3实现一个div设置多张背景图片&#xff1f; background-image:url("1.jpg"),url("2.jpg"),url("3.jpg"); background-repeat: no-repeat, no-repeat, no-repeat; background-position: 0 0, 200px 0, 400px 201px;个人简介 我…

系统架构设计师-软件水平考试(高级)-理论-操作系统

系统架构设计师-操作系统 前言&#xff1a; 之前文章发布后&#xff0c;发现还是有一定阅读量的&#xff0c;所以决定继续发一些思维导图。 思维导图首先以思维结构为主&#xff0c;其次以考试的内容进行一定的改动&#xff08;如本次&#xff0c;将“嵌入系统”放在了“操作系…

Error: Cannot find module 'json-schema-faker' YAPI部署

大家好&#xff0c;我是烤鸭&#xff1a; 采坑实录。 安装 YAPI 接口项目时出现的这个问题&#xff0c;如果你不是这个情况出现的这个报错&#xff0c;就不用继续看了。 YAPI的 github 地址: https://github.com/YMFE/yapi 1.场景 安装 YAPI 接口项目。当时日志没找&#xff0c…

[css] 你有用过IE css的expression表达式吗?说说你对它的理解和它有什么作用呢?

[css] 你有用过IE css的expression表达式吗&#xff1f;说说你对它的理解和它有什么作用呢&#xff1f; 主要用来解决IE 低版本样式自适应的问题。 比如&#xff1a;height:expression(this.offsetHeight); 缺点&#xff1a;性能问题&#xff0c;会重复执行&#xff0c;可达 10…

Java 面试题(1)——java基础

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享一些Java面试题和答案。 这些答案都是自己想的&#xff0c;如果有理解不一样的&#xff0c;欢迎交流。 部分原题来自&#xff1a; https://blog.csdn.net/qq_41790443/article/details/80694415 1. HashMap的源码&#xff0…

关于我的代码在课上第一时间没有运行出来这件事

日期&#xff1a;2018.11.15 博客期&#xff1a;024 星期四 今天上课老师又出题了&#xff0c;这次的题目是去利用文件的读写去完成文件的读写答题&#xff01;那为什么我没有第一时间做出来呢&#xff1f;原因我分析了以下几点&#xff1a; 1、我第一时间对题意没有准确的审视…

[css] 有哪些方式可以对一个DOM设置它的CSS样式?

[css] 有哪些方式可以对一个DOM设置它的CSS样式&#xff1f; 1.可以使用行内样式 2.可以使用style标签 3.可以使用link引入css文件 4.可以使用js动态修改个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨…

【Shiro】Unsatisfied dependency expressed through method 'securityManager' parameter 3

大家好&#xff0c;我是烤鸭&#xff1a; 采坑记录&#xff0c;springboot 整合 shiro。 环境&#xff1a; springboot 2.0.5.RELEASE shiro-spring 1.4.0 shiro-redis 3.1.0 1.问题 org.springframework.beans.factory.UnsatisfiedDependencyException: Error crea…

pytest+allure生成漂亮的报告+显示

一&#xff1a;环境准备 1.python3.62.windows环境3.pycharm4.pytest-allure-adaptor5.allure2.8.06.java1.8pytest-allure-adaptor快速安装 在cmd中输入 pip install pytest-allure-adaptor&#xff0c;回车 二&#xff1a;报告生成 第1步&#xff1a;下载allure.zip&#xff…

[css] 举例说明实现圆角的方式有哪些?

[css] 举例说明实现圆角的方式有哪些&#xff1f; 不使用 border-radius 的情况下只能用切图代替。此时非常有局限性&#xff0c;因为必须要定高定宽了。最常用的 border-radius 来实现。个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; …