我正在创建一个 Nuxt 3 应用程序,当我运行时它工作正常npm run dev。虽然当我想构建应用程序时,npm run build我收到此错误:
[vite:resolve] Missing "./preload-helper" export in "vite" package
Run Code Online (Sandbox Code Playgroud)
我使用的是Nuxt版本3.0.0-rc.6
我的package.json
{
"private": true,
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview",
"test:unit": "vitest --config ./vitest.config.js"
},
"devDependencies": {
"@vitejs/plugin-vue": "~3.0.0",
"@vue/test-utils": "~2.0.0",
"jsdom": "~20.0.0",
"nuxt": "3.0.0-rc.6",
"sass": "^1.53.0",
"sass-loader": "^13.0.2",
"vitest": "~0.18.0"
}
}
Run Code Online (Sandbox Code Playgroud)
我的 nuxt.config.ts
import { defineNuxtConfig } from 'nuxt';
export default defineNuxtConfig({
autoImports: {
dirs: [
// Scan composables …Run Code Online (Sandbox Code Playgroud) 我正在使用 Express 构建 Node.js 应用程序。我使用快速会话进行会话。我在会话中存储的数据可在 IE、Chrome 和 Firefox 中使用。但在 Safari 中,会话始终为空。所以当我这样做时console.log(req.session)打印:
Session {
cookie: {
path: '/',
_expires: null,
originalMaxAge: null,
httpOnly: true,
secure: true
},
userHasCheckCorrect: true
}
Run Code Online (Sandbox Code Playgroud)
这是我在 server.js 中的设置
app.use(session({
secret: process.env.SESSION_SECRET,
resave: false,
saveUninitialized: true,
cookie: {
secure: true,
httpOnly: true
}
}));
Run Code Online (Sandbox Code Playgroud)
这是一个带有 SSL 证书的服务器,因此它是一个 HTTPS 域。使用 HTTP,它在 Safari 中似乎工作得很好。我在这里做错了什么?我缺少什么设置吗?我查了很多地方,但还没有找到答案。为什么它适用于除 Safari 之外的所有浏览器?
我一直在将nuxt-i18n集成到我的一个项目中以启用多种语言。一切正常,但是当我在填写表单时切换语言时,页面中的所有数据都丢失了。
因此,我创建了一个表单并用于v-model将数据绑定到页面的数据对象。
<div class="form-group">
<label for="username">{{ $t('form.username') }}</label>
<input v-model="user.username" type="username" class="form-control" id="username" />
</div>
Run Code Online (Sandbox Code Playgroud)
这是页面的数据对象
data: () => {
return {
user: {
username: ''
}
}
Run Code Online (Sandbox Code Playgroud)
因此,当我在字段中输入用户名时,模型会更新,正如我所期望的。但是,一旦我从该页面切换语言,一旦设置了所选语言,数据就会丢失。
这就是我在单击时切换语言的方式,例如,荷兰国旗图标。
switchLocalePath(locale.code) // local.code is 'nl' in this case
Run Code Online (Sandbox Code Playgroud)
当用户切换语言时,slug 也应该更新。下面的代码显示了i18n我的nuxt.config.js文件中包的设置。
modules: [
['nuxt-i18n', {
locales: [
{
code: 'en',
iso: 'en-US',
name: 'English'
},
{
code: 'nl',
iso: 'nl-NL',
name: 'Nederlands'
}
],
defaultLocale: 'nl',
parsePages: false,
pages: {
'account/register': {
en: …Run Code Online (Sandbox Code Playgroud) 我尝试sam build使用 AWS SAM CLI 运行,但遇到问题。我收到以下错误:
Build Failed
Error: Building image for DefaultFunction requires Docker. is Docker running?
Run Code Online (Sandbox Code Playgroud)
看起来docker虽然安装了,却找不到。当我运行时docker ps,我看到 Docker 正在运行的确认信息。奇怪的是,该build命令实际上对我在同一项目中的同事有效,他们也使用带有 Intel 芯片的 MacOS。
我已经SAM CLI, version 1.60.0安装了
我已经Docker version 20.10.20安装并运行
我正在运行它MacOS Montery 12.5
我已经寻找这个问题的答案有一段时间了,但找不到解决方案。有谁知道如何解决这一问题?我已遵循本文档中的所有步骤。
我正在构建一个应用程序(MongoDB 数据库),用户可以在其中注册一个帐户。帐户模型有 3 个应该是唯一的值:ID、用户名和电子邮件。我正在使用 Mongoose v5.5.5 进行查询等。
当有人想注册一个新帐户时,我想做一个查询(findOne 或 find)以查看是否有具有该 ID或用户名或邮件的用户。我认为下面的代码会起作用。
let query = {
'id': sanitized.id,
'username': sanitized.username,
'mail': sanitized.mail
}
AccountModel.find(query, (error, data) => {
// Handle result
})
Run Code Online (Sandbox Code Playgroud)
所以假设有一个用户名为user1和电子邮件user1@mail.com。现在另一个用户想要注册用户名user2但使用与 user1 相同的电子邮件。
如何执行匹配OR用户名或邮件的查询,以便我可以判断其中任何一个已被其他用户使用?
我更喜欢使用单个查询来保持代码整洁,但我还没有找到解决方案。希望有人能帮忙。
我正在重构一个网络应用程序,以便屏幕阅读器可以访问它。我正在开发的 Web 应用程序是荷兰语。咏叹调标签也是荷兰语,并按我的预期执行。尽管如此,当浏览页面时,屏幕阅读器会说:“导航,列出 4 个项目”。是否有可能将其(默认读取 EN 中的元素)更改为荷兰语?
我将 HTML 语言属性设置为荷兰语
<html lang="nl">
但是屏幕阅读器(使用荷兰语/谷歌的荷兰语语音)将元素读取为“导航,包含 4 个项目的列表”。
是否有可能将这种默认行为更改为全荷兰语?我使用 ChromeVox 插件作为屏幕阅读器。这是屏幕阅读器特定的问题,还是可以在代码中解决?
感谢你的帮助!
javascript ×2
nuxt.js ×2
aws-lambda ×1
aws-sam-cli ×1
docker ×1
express ×1
html ×1
mongodb ×1
mongoose ×1
node.js ×1
nuxtjs3 ×1
safari ×1
session ×1
typescript ×1
vite ×1
vue.js ×1