英文:
Nuxt3: Error using nuxt-cookie-control (@dargmuesli/nuxt-cookie-control)
问题
我想使用这个nuxt-cookie-consent包:
- https://www.npmjs.com/package/@dargmuesli/nuxt-cookie-control
- https://nuxt.com/modules/cookie-control
- https://gitlab.com/broj42/nuxt-cookie-control
我正在使用Nuxt 3.3.1
这里还有一个示例,说明如何使用这个依赖项:https://stackblitz.com/github/dargmuesli/nuxt-cookie-control?file=playground%2Fapp.vue
根据README.md的说明,我已经安装了这个包并将我的nuxt.config.ts更改为以下内容:
// nuxt.config.ts
import vuetify from 'vite-plugin-vuetify'
export default defineNuxtConfig({
ssr: true,
css: [
'vuetify/styles',
'@mdi/font/css/materialdesignicons.min.css',
],
vite: {
// @ts-ignore
// 目前这会导致类型错误,但希望很快就能修复 #justBetaThings
ssr: {
noExternal: ['vuetify'], // 添加 vuetify vite 插件
},
},
build: {
transpile: ['vuetify'],
},
modules: [
async (options, nuxt) => {
// @ts-ignore
nuxt.hooks.hook('vite:extendConfig', config => config.plugins.push(
vuetify()
))
},
['nuxt-cookie-control', {
//默认css (true)
//如果将css设置为false,您仍然可以访问
//您的颜色变量(例如,background-color: var(--cookie-control-barBackground))
css: true,
//启用或禁用css变量填充
cssPolyfill: true,
//如果您有子域(shop.yourdomain.com)
domain: 'yourdomain.com',
//如果要 tree-shake 区域设置要使用的区域
locales: ['en', 'de'],
//模态对话框打开器(cookie控制)
controlButton: true,
//阻止iframe,以防止它们添加其他cookie
blockIframe: true,
//cookie栏的位置:
//'top-left', 'top-right', 'top-full',
//'bottom-left', 'bottom-right', 'bottom-full'
barPosition: 'bottom-full',
dashInDescription: true,
//默认颜色
//如果要禁用颜色,请将颜色属性设置为false
colors: {
barTextColor: '#fff',
modalOverlay: '#000',
barBackground: '#000',
barButtonColor: '#000',
modalTextColor: '#000',
modalBackground: '#fff',
modalOverlayOpacity: 0.8,
modalButtonColor: '#fff',
modalUnsavedColor: '#fff',
barButtonHoverColor: '#fff',
barButtonBackground: '#fff',
modalButtonHoverColor: '#fff',
modalButtonBackground: '#000',
controlButtonIconColor: '#000',
controlButtonBackground: '#fff',
barButtonHoverBackground: '#333',
checkboxActiveBackground: '#000',
checkboxInactiveBackground: '#000',
modalButtonHoverBackground: '#333',
checkboxDisabledBackground: '#ddd',
controlButtonIconHoverColor: '#fff',
controlButtonHoverBackground: '#000',
checkboxActiveCircleBackground: '#fff',
checkboxInactiveCircleBackground: '#fff',
checkboxDisabledCircleBackground: '#fff',
},
//默认文本
text: {
barTitle: 'Cookies',
barDescription: '我们使用自己的cookie和第三方cookie,以便我们可以向您展示这个网站,并更好地了解您如何使用它,以改进我们提供的服务。如果您继续浏览,我们认为您已经接受了这些cookie。',
acceptAll: '全部接受',
declineAll: '删除全部',
manageCookies: '管理cookie',
unsaved: '您有未保存的设置',
close: '关闭',
save: '保存',
necessary: '必要的cookie',
optional: '可选的cookie',
functional: '功能性cookie',
blockedIframe: '要查看此内容,请启用功能性cookie',
here: '这里'
}
}]
],
head: {
link: [
{ rel: "icon", type: "image/x-icon", href: "/favicon.ico" },
{
rel: "stylesheet",
href: "https://fonts.googleapis.com/css2?family=Lato&display=swap",
},
],
},
})
我还将我的app.vue更改为以下内容:
在启动应用程序时,它显示找不到模块 nuxt-cookie-control,但它在依赖项中列出了:
我做错了什么,为什么它找不到模块,即使它作为依赖项安装了呢?谢谢!
英文:
I want to use this nuxt-cookie-consent package:
- https://www.npmjs.com/package/@dargmuesli/nuxt-cookie-control
- https://nuxt.com/modules/cookie-control
- https://gitlab.com/broj42/nuxt-cookie-control
I am using Nuxt 3.3.1
There is also a playground example on how to use the dependency here: https://stackblitz.com/github/dargmuesli/nuxt-cookie-control?file=playground%2Fapp.vue
As instructed in the README.md I have installed the package and changed my nuxt.config.ts to this:
// nuxt.config.ts
import vuetify from 'vite-plugin-vuetify'
export default defineNuxtConfig({
ssr: true,
css: [
'vuetify/styles',
'@mdi/font/css/materialdesignicons.min.css',
],
vite: {
// @ts-ignore
// curently this will lead to a type error, but hopefully will be fixed soon #justBetaThings
ssr: {
noExternal: ['vuetify'], // add the vuetify vite plugin
},
},
build: {
transpile: ['vuetify'],
},
modules: [
async (options, nuxt) => {
// @ts-ignore
nuxt.hooks.hook('vite:extendConfig', config => config.plugins.push(
vuetify()
))
},
['nuxt-cookie-control', {
//default css (true)
//if css is set to false, you will still be able to access
//your color variables (example. background-color: var(--cookie-control-barBackground))
css: true,
//enable or disable css variables polyfill
cssPolyfill: true,
//in case you have subdomains (shop.yourdomain.com)
domain: 'yourdomain.com',
//if you want to tree-shake locales set locales you want to use
locales: ['en', 'de'],
//modal opener (cookie control)
controlButton: true,
//block iframes to prevent them from adding additional cookies
blockIframe: true,
//position of cookie bar:
//'top-left', 'top-right', 'top-full',
//'bottom-left', 'bottom-right', 'bottom-full'
barPosition: 'bottom-full',
dashInDescription: true,
//default colors
//if you want to disable colors set colors property to false
colors: {
barTextColor: '#fff',
modalOverlay: '#000',
barBackground: '#000',
barButtonColor: '#000',
modalTextColor: '#000',
modalBackground: '#fff',
modalOverlayOpacity: 0.8,
modalButtonColor: '#fff',
modalUnsavedColor: '#fff',
barButtonHoverColor: '#fff',
barButtonBackground: '#fff',
modalButtonHoverColor: '#fff',
modalButtonBackground: '#000',
controlButtonIconColor: '#000',
controlButtonBackground: '#fff',
barButtonHoverBackground: '#333',
checkboxActiveBackground: '#000',
checkboxInactiveBackground: '#000',
modalButtonHoverBackground: '#333',
checkboxDisabledBackground: '#ddd',
controlButtonIconHoverColor: '#fff',
controlButtonHoverBackground: '#000',
checkboxActiveCircleBackground: '#fff',
checkboxInactiveCircleBackground: '#fff',
checkboxDisabledCircleBackground: '#fff',
},
//default texts
text: {
barTitle: 'Cookies',
barDescription: 'We use our own cookies and third-party cookies so that we can show you this website and better understand how you use it, with a view to improving the services we offer. If you continue browsing, we consider that you have accepted the cookies.',
acceptAll: 'Accept all',
declineAll: 'Delete all',
manageCookies: 'Manage cookies',
unsaved: 'You have unsaved settings',
close: 'Close',
save: 'Save',
necessary: 'Necessary cookies',
optional: 'Optional cookies',
functional: 'Functional cookies',
blockedIframe: 'To see this, please enable functional cookies',
here: 'here'
}
}]
],
head: {
link: [
{ rel: "icon", type: "image/x-icon", href: "/favicon.ico" },
{
rel: "stylesheet",
href: "https://fonts.googleapis.com/css2?family=Lato&display=swap",
},
],
},
})
I have also changed my app.vue to this:
When starting up my app, it says it can't find module nuxt-cookie-control, but it is listed in the dependencies:
What am I doing wrong, and how come it can't find the module even though it is installed as a dependency? Thanks!
答案1
得分: 1
检查播放场所;请确保使用完整的模块名称:
// `nuxt.config.ts`
export default defineNuxtConfig({
modules: [
'@dargmuesli/nuxt-cookie-control'
],
cookieControl: {
// 选项
}
}
英文:
Check the playground; make sure to use the full module name:
// `nuxt.config.ts`
export default defineNuxtConfig({
modules: [
'@dargmuesli/nuxt-cookie-control'
],
cookieControl: {
// options
}
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论