Javascript 使用jQuery插件的VueJS 2服务器端渲染
我正在尝试将一个有几个jQuery插件的旧登录页转换为Vue应用程序。原因是,登录页正在扩展,将成为一个web应用程序 用作模板。主要原因是它执行服务器端渲染 问题是错误:Javascript 使用jQuery插件的VueJS 2服务器端渲染,javascript,jquery,vuejs2,vue.js,server-side-rendering,Javascript,Jquery,Vuejs2,Vue.js,Server Side Rendering,我正在尝试将一个有几个jQuery插件的旧登录页转换为Vue应用程序。原因是,登录页正在扩展,将成为一个web应用程序 用作模板。主要原因是它执行服务器端渲染 问题是错误: ReferenceError: window is not defined at Object.<anonymous> (__vue_ssr_bundle__:3398:2408) at __webpack_require__ (__vue_ssr_bundle__:21:30) at O
ReferenceError: window is not defined
at Object.<anonymous> (__vue_ssr_bundle__:3398:2408)
at __webpack_require__ (__vue_ssr_bundle__:21:30)
at Object.module.exports.Object.defineProperty.value (__vue_ssr_bundle__:1280:126)
at __webpack_require__ (__vue_ssr_bundle__:21:30)
at Object.<anonymous> (__vue_ssr_bundle__:2099:3)
at __webpack_require__ (__vue_ssr_bundle__:21:30)
at Object.<anonymous> (__vue_ssr_bundle__:1380:81)
at __webpack_require__ (__vue_ssr_bundle__:21:30)
at Object.module.exports.Object.defineProperty.value (__vue_ssr_bundle__:378:66)
at __webpack_require__ (__vue_ssr_bundle__:21:30)
这是LandingView.vue
<template>
<div class="landing-page">
</div>
</template>
<script>
import owl from '../../public/assets/libs/owl.carousel.2.0.0-beta.2.4/owl.carousel.min.js'
import $ from 'jquery';
export default {
name: 'landing-view',
created () {
console.log('hello world!');
}
}
</script>
从“../../public/assets/libs/owl.carousel.2.0.0-beta.2.4/owl.carousel.min.js”导入owl
从“jquery”导入美元;
导出默认值{
名称:“着陆视图”,
创建(){
log('helloworld!');
}
}
事实证明,我需要在挂载的事件中插入jQuery插件
它还说
服务器端渲染期间不调用此挂钩
我刚刚将插件分配到窗口
,然后我就可以启动它了
<template>
<div class="landing-page">
</div>
</template>
<script>
// import $ from 'jquery'; //no need to import it, as it's provided by webpack
export default {
name: 'landing-view',
mounted() {
// created() is only available in v1
window.owl = require('../../public/assets/libs/owl.carousel.2.0.0-beta.2.4/owl.carousel.min.js');
// the rest of my code
$('.some-carousel').owlCarousel();
}
}
</script>
//从“jquery”导入美元//无需导入,因为它是由webpack提供的
导出默认值{
名称:“着陆视图”,
安装的(){
//created()仅在v1中可用
window.owl=require('../../public/assets/libs/owl.carousel.2.0.0-beta.2.4/owl.carousel.min.js');
//我剩下的代码
$('.some carousel').owlCarousel();
}
}
我不确定这是否是解决这个问题的正确方法。我感谢您对最佳实践的任何评论
<template>
<div class="landing-page">
</div>
</template>
<script>
// import $ from 'jquery'; //no need to import it, as it's provided by webpack
export default {
name: 'landing-view',
mounted() {
// created() is only available in v1
window.owl = require('../../public/assets/libs/owl.carousel.2.0.0-beta.2.4/owl.carousel.min.js');
// the rest of my code
$('.some-carousel').owlCarousel();
}
}
</script>