vue-cli2安装,vue-cli3安装 ,webpack 4安装小tip(转载)

2023-10-05 01:50

本文主要是介绍vue-cli2安装,vue-cli3安装 ,webpack 4安装小tip(转载),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载:https://m.imooc.com/wenda/detail/601318

vue create 是vue-cli3.x的初始化方式,

目前模板是固定的,模板选项可自由配置,创建出来的是vue-cli3的项目,与cue-cli2项目结构不同,配置方法不同,

vue init 是vue-cli2.x的初始化方式,

可以使用github上面的一些模板来初始化项目,webpack是官方推荐的标准模板名。vue-cli2.x项目向3.x迁移只需要把static目录复制到public目录下,老项目的src目录覆盖3.x的src目录(如果修改了配置,可以查看文档,用cli3的方法进行配置)

 

处理静态资源你也许会注意到vue-cli与webpack结合的项目中,我们通常会有两个静态资源的路径:src/assets和static/,他们两者的区别是什么呢?打包的资源为了回答这个问题,我们首先要明白Webpack是如何处理静态资源的。在*.vue组件里,所有的templates和CSS模块都被vue-html-loader和css-loader解析来查找路径URL。举个例子,在<img src"./logo.png">和背景background: url(./logo.png),”./logo.png”是一个相对路径,会被Webpack当做一个依赖加载。但是因为logo.png并不是JavaScript,所以如果被当成一个依赖的花,我们需要通过url-loader和file-loader来解析它。这个模板已经为你配置了相应的loader,所以你通常不用担心相对路径的部署问题。即使这些资源有可能在构建过程中被内联/拷贝/重命名,他们也是源码重要组成部分。这就是为什么我们建议单独在/src文件夹里放置静态资源,如同其他的资源文件夹。事实上,你都不必把他们全放在/src/assets,你可以根据模块/组件来组织利用他们。比如说,你可以把任一组件放到他们自己的目录,并在该目录下存放静态资源。资源引入规则相对路径,比如 ./assets/logo.png会被解析成模块依赖。它们会被一个基于你Webpack输出配置的自动生成URL替代。没有前缀的路径,比如assets/logo.png,同相对路径,转义成./assets/logo.png有~前缀的路径。 ~被认为是一个模块请求,同require('some-module/image.png')。根路径,比如/assets/log.png在JavaScript得到资源路径computed: { background () { return require('./bgs/' + this.id + '.jpg') } }这个资源路径同样会被file-loader处理然后返回处理后的路径。而且Webpack会一次性加载该bgs目录下的所有图片。“真实的”静态资源与此相对的,static/中的文件全都不会被Webpack处理。它们将被直接拷贝到目标文件夹,引用这些文件需要使用绝对路径。

转载:https://www.html.cn/archives/9436

webpack 4 已经发布了!

这个当今最流行的模块打包器做了大量更新。

webpack 4 带来了什么是新特性?大规模的性能改进,零配置和智能的默认设置。

这篇文章是对 webpack 4 的生动的介绍。并且会不断更新。

您可以按文章每个部分的顺序构建一个有效的 webpack 4 环境。

但可以随意跳过教程的某个部分!

webpack 4 作为零配置模块打包器

webpack 功能强大,具有许多独特的功能,但其中一个难点就是配置文件。

为中型到大型项目提供 webpack 配置并不是什么大问题。 没有它感觉你无法活了。然而,对于小一点的项目来说,这有点烦人,尤其是当你想启动一些玩玩的应用的时候。

这就是为什么 Parcel 获得了很多吸引的眼球。

现在是突发新闻:webpack 4 默认不需要配置文件!

让我们尝试一下。

webpack 4:从零配置开始

创建一个新目录并进入该目录:

CommandLine 代码:

 
  1.  
  2. mkdir webpack-4-quickstart && cd $_

通过运行以下命令初始化 package.json :

CommandLine 代码:

 
  1. npm init -y

并引入 webpack 4:

CommandLine 代码:

 
  1. npm i webpack --save-dev

我们还需要 webpack-cli ,作为一个单独的包引入:

CommandLine 代码:

 
  1. npm i webpack-cli --save-dev

现在打开 package.json 并添加一个 build(构建) 脚本:

package.json 代码:

 
  1. "scripts": {
  2. "build": "webpack"
  3. }

关闭文件并保存。

尝试运行:

CommandLine 代码:

 
  1. npm run build

看看会发生什么:

CommandLine 代码:

 
  1. ERROR in Entry module not found: Error: Can't resolve './src' in '~/webpack-4-quickstart'

webpack 4 在 ./src 中寻找 entry point(入口点) ! 如果您不知道这意味着什么,请查看 官方的说明文档 。

简而言之: entry point(入口点) 是 webpack 寻找开始构建 Javascript 包的文件。

在以前版本的 webpack 中,必须在名为 webpack.config.js 的配置文件中 通过 entry 属性定义 entry point(入口点) 。

但是 从 webpack 4 开始,不再必须定义 entry point(入口点) :它将默认为 ./src/index.js !

测试这个新功能很简单。 创建 ./src/index.js

index.js 代码:

 
  1. console.log(`I'm a silly entry point`);

然后运行构建命令:

CommandLine 代码:

 
  1. npm run build

您将在 ~/webpack-4-quickstart/dist/main.js 中获取该 bundle(包) 。

什么? 稍等片刻。 没有必要定义输出文件? 对的。

在 webpack 4 中,既不必须定义 entry point(入口点) ,也不必须定义 output file(输出文件)。

webpack 的主要优势在于 code splitting(代码拆分)。 但请相信我,使用零配置工具可以加快速度。

所以这是第一条新闻:webpack 4 不是必须要有配置文件

它将查找 ./src/index.js 作为默认入口点。 而且,它会在 ./dist/main.js 中输出模块包。

在下一节中,我们将看到 webpack 4 的另一个不错的功能:生产和开发模式。

webpack 4:production(生产) 和 development(开发) 模式

拥有2个配置文件在 webpack 中是的常见模式。

一个典型的项目可能有:

  • 用于开发的配置文件,用于定义 webpack dev server 和其他东西
  • 用于生产的配置文件,用于定义 UglifyJSPlugin,sourcemaps 等

虽然较大的项目可能仍然需要 2 个配置文件,但在 webpack 4 中,您可以在没有一行配置的情况下完成。

怎么会这样?

webpack 4 引入了 production(生产) 和 development(开发) 模式。

事实上,如果你注意 npm run build 的输出,你会看到一个很好的警告:

 

The ‘mode’ option has not been set. Set ‘mode’ option to ‘development’ or ‘production’ to enable defaults for this environment.
“模式”选项尚未设置。 将 “mode” 选项设置为 “development” 或 “production” 以启用此环境的默认值。

那是什么意思? 让我们来看看。

打开 package.json 并填充 script 部分,如下所示:

package.json 代码:

 
  1. "scripts": {
  2. "dev": "webpack --mode development",
  3. "build": "webpack --mode production"
  4. }

现在尝试运行:

CommandLine 代码:

 
  1. npm run dev

并看看 ./dist/main.js 。 你看到了什么? 是的,我知道,一个令人厌烦的 bundle(包) 文件…,没有压缩!

现在尝试运行:

CommandLine 代码:

 
  1. npm run build

再来看看 ./dist/main.js 。 你现在看到了什么? 一个 压缩后的 bundle(包)

是的!

production mode(生产模式) 可以开箱即用地进行各种优化。 包括压缩,作用域提升,tree-shaking 等。

另一方面,development mode(开发模式)针对速度进行了优化,仅仅提供了一种不压缩的 bundle 。

所以这是第二条新闻:webpack 4 引入了 production(生产) 和 development(开发) 模式。

在 webpack 4 中,您可以在没有一行配置的情况下完成任务! 只需定义 –mode 参数即可免费获得所有内容!

webpack 4:覆盖默认 entry(入口)/output(输出)

我喜欢 webpack 4 零配置,但如何覆盖默认 entry point(入口点) 和 默认 output(输出) 呢?

在 package.json 中配置它们!

这是一个例子:

package.json 代码:

 
  1. "scripts": {
  2. "dev": "webpack --mode development ./foo/src/js/index.js --output ./foo/main.js",
  3. "build": "webpack --mode production ./foo/src/js/index.js --output ./foo/main.js"
  4. }

webpack 4:用 Babel 7 转译 Javascript ES6

 

现代 Javascript 主要是用 ES6 编写的。

但并非每个浏览器都知道如何处理 ES6 。 我们需要某种转换。

这个转换步骤称为 transpiling(转译)。 transpiling(转译)是指采用 ES6 并使旧浏览器可以理解的行为。

Webpack 不知道如何进行转换但是有 loader(加载器) :将它们视为转译器。

babel-loader 是一个 webpack 的 loader(加载器),用于将 ES6 及以上版本转译至 ES5 。

要开始使用 loader ,我们需要安装一堆依赖项。 尤其是:

  • babel-core
  • babel-loader
  • babel-preset-env 用于将 Javascript ES6 代码编译为 ES5

我们开始动手吧:

CommandLine 代码:

 
  1. npm i babel-core babel-loader babel-preset-env --save-dev

接下来,通过在项目文件夹中创建名为 .babelrc 的新文件来配置 Babel :

.babelrc 代码:

 
  1. {
  2. "presets": [
  3. "env"
  4. ]
  5. }

此时我们有2个配置 babel-loader 的选项:

  • 使用 webpack 的配置文件
  • 在你的 npm scripts 中使用 --module-bind

是的,我知道你在想什么。 webpack 4 将自己作为零配置工具推向市场。 为什么要再次编写配置文件?

webpack 4 中零配置的概念适用于:

  • entry point(入口点) 默认为 ./src/index.js
  • output(输出) 默认为 ./dist/main.js
  • production(生产) 和 development(开发) 模式 (无需为生产和开发环境创建2个单独的配置)

这就够了。 但是对于在 webpack 4 中使用 loader(加载器),您仍然需要创建配置文件。

我问过 Sean 这件事:webpack 4 中的加载器是否与 webpack 3 相同? 有没有计划为像 babel-loader 这样的普遍使用的 loader(加载器) 提供零配置?

他的回答是:

“对于未来(在v4之后,可能是4.x或5.0),我们已经开始探索预置或附加系统将如何帮助定义它。我们不想要的是:尝试将一堆东西作为默认设置插入到 core 中,我们想要的是:允许其他人扩展“

现在你仍然必须依赖 webpack.config.js。 让我们来看看…

webpack 4:通过配置文件使用 babel-loader

给 webpack 添加一个配置文件,以最经典的方式使用 babel-loader

创建一个名为 webpack.config.js 的新文件并配置 loader(加载器) :

webpack.config.js 代码:

 
  1. module.exports = {
  2. module: {
  3. rules: [
  4. {
  5. test: /\.js$/,
  6. exclude: /node_modules/,
  7. use: {
  8. loader: "babel-loader"
  9. }
  10. }
  11. ]
  12. }
  13. };

除非您要自定义 entry point(入口点) ,否则无需指定它。

接下来打开 ./src/index.js 并编写一些 ES6 代码:

index.js 代码:

 
  1. const arr = [1, 2, 3];
  2. const iAmJavascriptES6 = () => console.log(...arr);
  3. window.iAmJavascriptES6 = iAmJavascriptES6;

最后,创建 bundle(包):

CommandLine 代码:

 
  1. npm run build

现在看一下 ./dist/main.js 来查看转换后的代码。

webpack 4:不通过配置文件使用 babel-loader(在 npm scripts 中使用)

还有另一种方法来使用 webpack 的 loader(加载器)。

--module-bind 参数允许你在命令行指定加载器。 谢谢 Cezar 指出这一点。

该参数不是特定于 webpack 4 的。 从版本 3 开始就有了。

要在没有配置文件的情况下使用 babel-loader ,请在 package.json 中配置你的 npm scripts,如下所示:

package.json 代码:

 
  1. "scripts": {
  2. "dev": "webpack --mode development --module-bind js=babel-loader",
  3. "build": "webpack --mode production --module-bind js=babel-loader"
  4. }

你可以再出运行 npm run build 构建项目。

我不喜欢这种方法(我不喜欢增加 npm scripts 的复杂性),但它仍然很有趣。

这篇关于vue-cli2安装,vue-cli3安装 ,webpack 4安装小tip(转载)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/3132

相关文章

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数

mac安装redis全过程

《mac安装redis全过程》文章内容主要介绍了如何从官网下载指定版本的Redis,以及如何在自定义目录下安装和启动Redis,还提到了如何修改Redis的密码和配置文件,以及使用RedisInsig... 目录MAC安装Redis安装启动redis 配置redis 常用命令总结mac安装redis官网下

如何安装 Ubuntu 24.04 LTS 桌面版或服务器? Ubuntu安装指南

《如何安装Ubuntu24.04LTS桌面版或服务器?Ubuntu安装指南》对于我们程序员来说,有一个好用的操作系统、好的编程环境也是很重要,如何安装Ubuntu24.04LTS桌面... Ubuntu 24.04 LTS,代号 Noble NumBAT,于 2024 年 4 月 25 日正式发布,引入了众

如何安装HWE内核? Ubuntu安装hwe内核解决硬件太新的问题

《如何安装HWE内核?Ubuntu安装hwe内核解决硬件太新的问题》今天的主角就是hwe内核(hardwareenablementkernel),一般安装的Ubuntu都是初始内核,不能很好地支... 对于追求系统稳定性,又想充分利用最新硬件特性的 Ubuntu 用户来说,HWEXBQgUbdlna(Har

python中poetry安装依赖

《python中poetry安装依赖》本文主要介绍了Poetry工具及其在Python项目中的安装和使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前言1. 为什么pip install poetry 会造成依赖冲突1.1 全局环境依赖混淆:1

windows端python版本管理工具pyenv-win安装使用

《windows端python版本管理工具pyenv-win安装使用》:本文主要介绍如何通过git方式下载和配置pyenv-win,包括下载、克隆仓库、配置环境变量等步骤,同时还详细介绍了如何使用... 目录pyenv-win 下载配置环境变量使用 pyenv-win 管理 python 版本一、安装 和

Linux下MySQL8.0.26安装教程

《Linux下MySQL8.0.26安装教程》文章详细介绍了如何在Linux系统上安装和配置MySQL,包括下载、解压、安装依赖、启动服务、获取默认密码、设置密码、支持远程登录以及创建表,感兴趣的朋友... 目录1.找到官网下载位置1.访问mysql存档2.下载社区版3.百度网盘中2.linux安装配置1.

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

Kibana的安装和配置全过程

《Kibana的安装和配置全过程》Kibana是一个开源的数据分析和可视化平台,它与Elasticsearch紧密集成,提供了一个直观的Web界面,使您可以快速地搜索、分析和可视化数据,在本文中,我们... 目录Kibana的安装和配置1.安装Java运行环境2.下载Kibana3.解压缩Kibana4.配

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE