ABAP system landscape和vue项目webpack构建的最佳实践

简介: ABAP system landscape和vue项目webpack构建的最佳实践

基于Netweaver的ABAP transport route一般都有dev,test和prod三种类型的系统。




而Vue前端项目的webpack build设置也类似。


以SAP成都研究院数字创新空间开发的智能服务前端实现为例, 在package.json里定义了名为dev和build两个script:


“scripts”: {undefined


“dev”: “webpack-dev-server --inline --progress --config build/webpack.dev.conf.js”,


“start”: “npm run dev”,


“build”: “node build/build.js”


}


一旦运行npm run dev,会观察到在dev环境下使用了webpack-dev-server这个依赖启动了web服务器






当然webpack-dev-server这个依赖也必须定义在package.json的dependencies区域里:




npm install把所有依赖下载到本地后,也能观察到webpack-dev-server.js这个依赖的实现:




执行命令行npm run dev, 实际上执行的命令行为:


node “C:Usersi042416Documents_DISCodeSmartServiceFront ode_modules.bin…webpack-dev-serverinwebpack-dev-server.js” --inline --progress --config build/webpack.dev.conf.js




我们在前端项目build文件夹里能看到三个和webpack相关的配置文件:


webpack.base.conf.js


webpack.dev.conf.js


webpack.prod.conf.js




这里也能看到dev和prod环境,类似ABAP的开发和生产系统。区别是vue webpack的dev环境包含的是未压缩过的代码,方便调试,而prod环境的代码是压缩过后的。而ABAP无论是开发,测试还是生产,代码都相同。


之所以要引入webpack.base.conf.js, 也是类似面向对象的编程思想,把dev和prod环境一些通用的webpack配置抽取出来,避免在dev和prod里重复定义。


最终dev和prod的webpack配置内容,是webpack.base.conf里的通用内容,加上各自专属文件里定义的配置内容的并集, 参考第14行的merge方法,由webpack-merge模块提供。






当然如果大家还不了解什么是Webpack,可以参考这篇简书文章,来自zhangwang,写得相当详细。


入门Webpack,看这篇就够了

WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。


目录
相关文章
|
7月前
|
前端开发
React 安装使用 Less(详细流程,包含 webpack、craco 方式)
React 安装使用 Less(详细流程,包含 webpack、craco 方式)
154 0
|
JavaScript 开发工具 git
webpack进阶篇(二十五):webpack打包组件和基础库
webpack进阶篇(二十五):webpack打包组件和基础库
431 0
webpack进阶篇(二十五):webpack打包组件和基础库
|
10月前
|
JavaScript 前端开发 CDN
webpack从0到1构建Vue3
webpack从0到1构建Vue3
104 0
|
10月前
|
存储 缓存 JSON
【脚手架】从0到1搭建React18+TS4.x+Webpack5项目(二)基础功能配置
【脚手架】从0到1搭建React18+TS4.x+Webpack5项目(二)基础功能配置
|
10月前
|
缓存 资源调度 JavaScript
【脚手架】从0到1搭建React18+TS4.x+Webpack5项目(一)项目初始化
【脚手架】从0到1搭建React18+TS4.x+Webpack5项目(一)项目初始化
|
11月前
|
缓存 JavaScript 前端开发
Webpack从0到1搭建Vue3项目
Vue是当下非常火热的前端框架,选择Vue-Cli是大部分人主流的选择,因为其快捷、便利可以让我们一键生成整个项目模板,如果需要自定义配置下从0开始搭建一个Vue项目,其实也不难,接下来就来记录一下。
133 1
|
JavaScript 前端开发
【Webpack】 Vue项目维护难?看完Webpack就不难了!
我们了解一下,webpack到底是什么?为什么会有这个东西?主要是我们的任何一种语言的项目开发都会为了确保可维护行,都会将我们的项目代码分成很多的模块,在web前端vue开发模式下,这一些管理模块的就是我们的webpack。
【Webpack】 Vue项目维护难?看完Webpack就不难了!
|
缓存 JSON 前端开发
【Vue五分钟】五分钟了解webpack的高级概念
其实如果配置了 useBuiltIns 就不会需要再 import babel profill。 实际上目前的话虽然只是引入了某个模块的某个方法,在打 包还是会把模块的所有方法引入,最好是引入什么打包什么, 这就需要 tree shaking,摇掉不需要的内容。
【Vue五分钟】五分钟了解webpack的高级概念
|
前端开发 JavaScript
webpack构建自定义react应用
在上一篇文章中我们用webpack与webpack-cli搭建了最简单的前端应用,通常在项目中我们会用vue或者react,我们看下如何利用我们自己搭的工程来适配react
103 0
webpack构建自定义react应用
|
JavaScript 前端开发 API
webpack构建自定义vue应用
在上一篇中我们利用webpack从0到1搭建了一篇最基本的react应用,而vue在团队项目里也是用得非常之多,我们如何不依赖vue-cli脚手架搭建一个自己的vue工程化项目呢?
137 0
webpack构建自定义vue应用