使用 Symfony 和 Webpack 找不到 tarteaucitronjs
Posted
技术标签:
【中文标题】使用 Symfony 和 Webpack 找不到 tarteaucitronjs【英文标题】:tarteaucitronjs not found using Symfony and Webpack 【发布时间】:2021-06-01 22:12:25 【问题描述】:我有一个基于 Symfony 5 的项目。我想安装 tarteaucitronJS 来帮助管理 GPDR 权限。
在我的项目中,我已经安装了 Webpack,我使用 yarn 来安装新的依赖项。
我已经安装了 tarteaucitronJs 使用:
yarn add tarteaucitronjs
在我的应用 JS 上安装后,我设置了以下代码:
require('tarteaucitronjs/tarteaucitron.js')
$(document).ready(function()
tarteaucitron.init(
"privacyUrl": "", /* Privacy policy url */
"hashtag": "#tarteaucitron", /* Open the panel with this hashtag */
"cookieName": "tarteaucitron", /* Cookie name */
"orientation": "middle", /* Banner position (top - bottom) */
"showAlertSmall": false, /* Show the small banner on bottom right */
"cookieslist": false, /* Show the cookie list */
"showIcon": true, /* Show cookie icon to manage cookies */
"iconPosition": "BottomRight", /* Position of the icon between BottomRight, BottomLeft, TopRight and TopLeft */
"adblocker": false, /* Show a Warning if an adblocker is detected */
"DenyAllCta" : true, /* Show the deny all button */
"AcceptAllCta" : true, /* Show the accept all button when highPrivacy on */
"highPrivacy": true, /* HIGHLY RECOMMANDED Disable auto consent */
"handleBrowserDNTRequest": false, /* If Do Not Track == 1, disallow all */
"removeCredit": false, /* Remove credit link */
"moreInfoLink": true, /* Show more info link */
"useExternalCss": false, /* If false, the tarteaucitron.css file will be loaded */
//"cookieDomain": ".my-multisite-domaine.fr", /* Shared cookie for subdomain website */
"readmoreLink": "", /* Change the default readmore link pointing to tarteaucitron.io */
"mandatory": true /* Show a message about mandatory cookies */
);
console.log('Hello Webpack Encore! Edit me in assets/js/app.js');
);
当我使用:
yarn encore dev
出现任何错误。但是在浏览器内的控制台上,出现以下错误:
未捕获的 ReferenceError: tarteaucitron 未定义 在 html 文档。 (app.js:20) 在可能抛出 (jquery.js:3762) 在进程(jquery.js:3830)
我不知道我做错了什么。你能解释一下有什么问题吗?
【问题讨论】:
app.js 的第 20 行是什么? 我的电话是tarteaucitron.init(
【参考方案1】:
你不能像这样要求这个 javascript 文件。该库不支持包含 webpack 等工具。
你需要像这样包含文件:
<script src="/tarteaucitron/tarteaucitron.js"></script>
<script>
tarteaucitron.init(
// ...
);
</script>
或者你可以全局使用它:
global.tarteaucitron = require('tarteaucitronjs/tarteaucitron');
更多详情请见this issue。
【讨论】:
以上是关于使用 Symfony 和 Webpack 找不到 tarteaucitronjs的主要内容,如果未能解决你的问题,请参考以下文章