javascript - 我可以在需要支持 IE 的遗留项目中使用 Vue + Vuetify 吗?
问题描述
目前正在向遗留项目添加一些功能。前端只是所有网页的 jquery。我被告知要添加另一个网页,并且由于请求的复杂功能而真的想使用 Vuetify + Vue……没有 webpack 或我们今天拥有的任何不错的功能,这对我来说有点挫折,但是我只会使用CDN。
我遇到的问题是需要支持 IE(用户请求)。目前,这些脚本标签可以让 Chrome 中的一切正常工作:
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.24.0/babel.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue-resource@1.5.1"></script>
<link href='https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons' rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/vuetify/dist/vuetify.js"></script>
<link href="https://cdn.jsdelivr.net/npm/vuetify/dist/vuetify.min.css" rel="stylesheet">
<jsp:include page="components/location_component.jsp"></jsp:include>
如何仅使用 CDN 使其在 IE 中工作?我遇到了关于 ES6 语法的错误,这就是我引入 babel 的原因。仍然得到与以前相同的错误。
<div id="app">
<v-app>
<v-container>
<location @workstationchange="handleWorkstationChange($event)"></location>
</v-container>
</v-app>
</div>
</div>
<script>
var app = new Vue({
el : '#app',
data : {
workstationSelected : null,
},
methods : {
handleWorkstationChange : function(id) {
this.workstationSelected = id
}
},
mounted: function(){
}
})
</script>
位置是我创建的一个相当长的组件,但它只是有一些从数据库中填充的下拉菜单......没什么太复杂的。它使用 ES6 箭头函数、排序、Set()、展开运算符 [...] 等...试图使这篇文章保持简短。
任何人都知道如何通过仅使用 CDN 让 ES6 在与 IE 兼容的传统环境中工作?我究竟做错了什么?
解决方案
您可以使用支持 IE11 的 Vuetify。
要在无法利用 Webpack 等构建工具的遗留项目中使用它,您可以在遗留项目之外构建项目,然后使用 Webpack 等构建工具来构建项目。然后,您可以将 Webpack 输出的 Javascript 文件(通常是 /dist/build.js)导入到您的遗留项目中,例如:
<script src="build.js" />
您还需要将您在 Vue 项目中使用的任何资产转移到旧项目中。
虽然非常规,但它确实有效,并且还可以利用您项目中现有的 Javascript 和 Web 服务,就好像它一开始就在那里一样。
推荐阅读
- numpy - 2d与3d之间的矩阵乘法?
- c++ - C++ 中用于 Linux 的 NTP 客户端
- asp.net-core - ASP.NET Core 2.1 项目中的 Microsoft.Identity.Web
- postgresql - PostgreSQL:性能调优查询
- java - 在进行身份验证时注入 GoogleSignInClient 时出现空指针异常
- angular - 在 Pipe RxJS 中处理条件
- shell - Makefile:如果已运行任何构建步骤,则执行通知命令
- python - 如何指定在 PyTorch 中获取元素的轴
- asp.net - 线程池统计/性能计数器
- java - 如何解析 JSON 字符串数组?