【发布时间】:2019-06-15 02:27:24
【问题描述】:
我在使用 Webpack Encore 将 jquery-ui 插件与我的 Symfony 应用程序集成时遇到问题。可以在控制台看到错误(TypeError: t(...).dateRangeSlider is not a function[Learn More]):
https://date-range-demo.herokuapp.com/en/blog/search
源代码位于https://github.com/tacman/range-slider-demo,它只是搜索页面上带有日期范围滑块的 symfony 演示,通过以下更改:
从命令行将库添加到 package.json
纱线添加 jquery-ui jqrangeslider
添加到 /blog/search.html
<div id="slider">Slider Placeholder</div>
添加到 assets/js/search.js
import 'jquery-ui';
import 'jqrangeslider';
$('#slider').dateRangeSlider();
资产是使用 'yarn run encore dev' 构建的,我确信这是一个简单的配置错误,但我无法弄清楚它是什么。
部署到 heroku 增加了一些东西,但与插件不加载无关。要在本地查看此错误,只需克隆 repo,运行 composer install && yarn install && yarn run encore dev,然后启动服务器并转到 /en/blog/search。
感谢您对此的任何帮助!
【问题讨论】:
-
不要使用 jquery-ui,而是使用 webpack-jquery-ui : yarn add webpack-jquery-ui (最终使用 --dev 选项)。然后在 search.js 中使用 require('webpack-jquery-ui') 将其导入。这是我找到的唯一解决方案,但我无法解释为什么没有它就无法工作。
标签: jquery jquery-ui symfony4 rangeslider webpack-encore