经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » JavaScript » 查看文章
01.ElementUI源码学习:项目初始化和webpack配置
来源:cnblogs  作者:Anduril  时间:2021/4/19 8:56:41  对本文有异议

0x00.项目初始化

由于整个过程像素级 copy element,所以将不使用vue-cli初始化项目。

创建项目

新建一个空的文件夹,使用npm init 来初始化项目,并安装vue模块。

carbon (17).png

修改目录结构

根目录中添加文件夹

carbon (18).png

根目录下创建项目配置文件: .gitignore README.md
public目录下,创建模板页文件: favicon.ico index.html
examples目录下,创建示例入口文件: App.vue main.js logo.png

0x01.wepack安装与配置

项目使用webpack实现模块化管理和打包。

局部安装webpack

carbon (16).png

webpack-cli最新为4.X版本,webpack-dev-server无法正常运行,安装时需要指定版本(确保两模块版本皆为3.X)。

carbon (14).png

webpack-cli 提供了许多命令来使 webpack 的工作变得简单。官方文档
webpack-dev-server为你提供了一个简单的 web server,并且具有 live reloading(实时重新加载) 功能。官方文档

安装 webpack loaders

webpack 使用 loader 对文件进行预处理。可以构建包括 JavaScript 在内的任何静态资源。
官方插件列表
webpack 插件中文文档

carbon (15).png

参考
vue-loader详解: https://segmentfault.com/a/1190000020629508
html-webpack-plugin详解:https://www.cnblogs.com/wonyun/p/6030090.html

webpack配置

build目录下创建webpack配置文件webpack.config.js,提供入口(entry)模式(Mode)输出(output)模块(Module)插件(Plugins)开发服务器(DevServer)等配置选项。官方文档

carbon (11).png

0x02.项目运行

npm scripts 配置

在npm脚本中新增webpack命令,执行的命令会自动去node_modules寻找,不用加上目录。

修改package.json配置

  1. .
  2. ...
  3. "scripts": {
  4. "build:dist": "webpack --config build/webpack.config.js",
  5. "dev": "webpack-dev-server --config build/webpack.config.js"
  6. },
  7. ...
  8. .

cross-env配置

cross-env是一款运行跨平台设置和使用环境变量的脚本,不同平台使用唯一指令,无需担心跨平台问题。

carbon (13).png

修改package.json配置

  1. .
  2. ...
  3. "scripts": {
  4. "build:dist": "cross-env NODE_ENV=development webpack --config build/webpack.config.js",
  5. "dev": "cross-env NODE_ENV=development webpack-dev-server --config build/webpack.config.js"
  6. },
  7. ...
  8. .

运行测试

命令行窗口中,在该项目根目录下输入npm run dev 即可进行本地开发调试。

微信截图_20210414165142.png

成功运行后,项目第一个页面结果如下:

微信截图_20210414165237.png

最终目录结构

carbon (19).png

0x03.示例代码

Github Repo

原文链接:http://www.cnblogs.com/anduril/p/14659439.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号