无需npm,ASP.NET MVC 5项目JS转译压缩方案问询
当然有办法!我之前在类似的ASP.NET MVC 5项目里试过几种完全依赖Visual Studio扩展和NuGet包的方案,不用碰任何命令行构建工具,给你详细说说:
Web Compiler 扩展
这是VS生态里非常实用的前端编译工具,完全集成在IDE中。安装后,右键点击你的ES6 JavaScript文件,选择「Web Compiler » Configure Compiler」,项目里会生成一个compilerconfig.json配置文件。你可以在里面设置:- 指定输入的ES6文件路径
- 输出转译后的ES5文件位置
- 开启压缩选项(生成
.min.js) - 添加Babel预设(比如
es2015)来处理箭头函数、let/const、解构赋值等ES6语法
每次你保存源文件时,它会自动完成转译+压缩的操作,完全不用手动触发。如果你的Vue代码是写在普通JS文件里的,这个方案完全能覆盖你的需求。
Babel.NET NuGet包 + 压缩工具
如果你希望把转译和压缩集成到项目的构建流程中(比如编译项目时自动处理),可以用Babel.NET这个NuGet包。安装完成后,需要编辑项目的.csproj文件,添加MSBuild任务,指定要处理的ES6文件、输出目录以及Babel的配置参数。
转译完成后,再搭配Microsoft Ajax Minifier或者YUI Compressor.NET这类压缩类NuGet包,同样通过MSBuild任务配置,就能在项目构建时自动完成从ES6到压缩后ES5的全流程,适合需要自动化构建的场景。小提醒
如果你用到了Vue的单文件组件(.vue格式文件),那不用构建工具的话会比较棘手——因为.vue文件需要拆分模板、样式和脚本部分并分别处理,这类场景可能还是得用轻量构建工具,但如果只是在普通JS文件里用ES6语法写Vue逻辑,上面的两种方案完全够用。另外记得把你的VS2017更新到较新的版本,避免扩展或NuGet包的兼容性问题。
内容的提问来源于stack exchange,提问作者roroinpho21

