javascript - 使用 jQuery 的 Angular 2+ 服务器端渲染

标签 javascript jquery angular angular-universal

我遇到了一些令人衰弱的事情。

我现在在一个项目中已经很深入了,它肯定需要在某个时候在服务器端渲染。

该网络应用程序允许用户上传图片,例如个人资料图片以及“常规”图片。

我使用 Foliotek ( https://github.com/Foliotek/Croppie ) 的 Croppie 进行裁剪,效果很好,正是我所需要的。

但是 Croppie 依赖于 jQuery。昨天我发现如果我想让应用程序在服务器端呈现,这可能是一个问题。

所有 jQuery 都在 ngAfterViewInit 生命周期 Hook 中使用,所以我希望这能够使其成为服务器端渲染的证明?

我知道有 ng2-img-cropper 可用,但我不太热衷于实现它。但是,如果我可以将 ng2-img-cropper 与服务器端渲染一起使用,那么我就必须这样做。

或者有什么我忽略的更好的东西吗?

最佳答案

您可以在服务器上使用 jQuery,使用 Node,据我所知。只需浏览 npm 并搜索合适的模块即可。并且不要忘记,Node 没有 DOM 实现,因此您还需要虚拟 DOM 模块。

例如,您可以使用 this jQuery wrapperthis DOM implementation 。示例:

npm install jsdom
npm install jQuery

var jsdom = require('jsdom').jsdom
var myWindow = jsdom().createWindow()
var $ = require('jQuery')
var jq = require('jQuery').create()
var jQuery = require('jQuery').create(myWindow)

$("<h1>test passes</h1>").appendTo("body")
console.log($("body").html());

关于javascript - 使用 jQuery 的 Angular 2+ 服务器端渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47121267/

相关文章:

javascript - 有没有办法让 CSS 中的每个单词都具有不同的颜色?

javascript - 如何在构造函数(JS)中获取构造函数的父级

javascript - 具有多个表达式的 JavaScript 中的三元运算符?

javascript - 如何将 3 列中的 JSON 变量中的数据显示到 bootstrap 模式中

javascript - 如何使用传单markerclusterGroup?

scroll - Angular 2滚动到底部(聊天风格)

javascript - JS : Show Pop up box position exactly above tr in table

javascript - 如何让我的 SVG 移动响应

具有 5000 个值的 Angular Material Form 自动完成

JavaScript 数组拼接