问题标签 [vercel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Nodemailer + Handlebars + NextJS - 正确的路径
我在production
为我的 nodemailer/handlebars 设置找到正确的路径设置时遇到问题。传输器连接到 API 请求以发送自动电子邮件。
在development
我将配置保留原样时,所以基本上我有这种情况:
这里没有问题,一切正常。
相反Now
,我收到了这个异常:
该请求返回一个 ok 响应,如您在此处看到的:
所以我得出结论,这个问题与传输器配置上设置的错误路径有关。我不能这样生活,dev
因为它会重定向到/var/tasks
. 问题是我尝试了不同的方法来正确定位文件路径,但没有成功:
- 使用
__dirname +'<path>'
- 把它放在平原上,比如
/<path>...
- 设置一个内部
_next
生产目录:/_next/static/....
这是我当前的文件系统:
正如你所看到的,我在里面都有配置文件/static/js/mail/config
than /_next/static/js/mail/config
。两者都不起作用,呼叫响应每次都出现相同的错误,独立于其路径。
now.json
如果有帮助,这是我目前的:
有人以前经历过这种情况或可以以某种方式帮助我吗?
提前致谢
javascript - 页面在初始页面加载时有效,但如果我刷新页面,我会收到 Zeit、Nextjs 和现在的 404 错误
我最近从 升级now v1
到v2
。
一切都在本地工作now dev
,所有页面都重新加载没有任何问题。但是,当我推送now --prod
并导航到页面时,一切都按预期工作,但是如果我重新加载页面,我将进入错误页面,错误为404
我必须承认,自从迁移到v2
. 我很确定它与我的路由有关......但我一直认为它直接从我的文件夹结构中获取路由?
更令人困惑的是,如果您重新加载,您将收到 404,但是从该 404 错误页面中,如果您使用导航,该网站将毫无问题地呈现。
根据文档,它应该从文件系统中获取名称,我相信它确实如此,因为它最初导航到那里。
默认情况下,路由由部署的文件系统定义。例如,如果用户向 /123.png 发出请求,并且您的 now.json 文件不包含任何具有与该路径匹配的有效 src 的路由,它将回退到文件系统并提供 /123.png(如果存在)。
现在.json
文件夹结构
下一个.config.json
但是,是的,我被困住了,我会永远感激一些帮助:)
包.json
我不确定这是否有助于了解问题,但这是我的脚本。
[编辑]
svelte - zeit/now 上的 svelte/sapper 直接链接问题 - 如何调试或修复?
在开发中,我可以直接链接到任何路线。在 Zeit/now,我可以引导链接到某些页面,但不能链接到其他页面。我正在努力确定问题所在。
这是一个示例,直接导航到“ https://partyshoegame.now.sh/games/play/Sparkle ”不起作用,但从主页导航到同一个地方确实有效。
Zeit 运行时日志没有任何条目。
也许是我拥有 Firebase 内容的页面?我通过 RXJS/RXfire 使用 firebase 身份验证,并通过谷歌的 API 使用 firestore。
我断言我尝试过的事情:
链接深度:我的内容有两层深。我把一些拉到只有一层深,但这并没有什么不同。
Slugs:我有博客样本和我的内容。博客有效,我的无效。
我的 Helper js 代码:我在 routes 文件夹中有几个没有下划线名称的 js 文件。我想,也许那些是造成路线问题的原因。我加了下划线,没有区别。
蛞蝓#2:我放置了一个命名文件两层深。无法直接访问没有索引?:我的一些路线只有 [slug].svelte。我添加了 index.svelte。没有不同。
Slugs #3:我的文件被命名为 [playDocId].svelte,然后我使用了 params.playDocId。我把它们换成了[slug]。没有不同
应用服务器:将 polka 换成 express。没有不同
我的路线文件夹的片段
服务器响应
` 在 dev 中,我可以直接链接到任何路由。在 Zeit/now,我可以引导链接到某些页面,但不能链接到其他页面。我正在努力确定问题所在。
这是一个示例,直接导航到“ https://partyshoegame.now.sh/games/play/Sparkle ”不起作用,但从主页导航到同一个地方确实有效。
Zeit 运行时日志没有任何条目。
也许是我拥有 Firebase 内容的页面?我通过 RXJS/RXfire 使用 firebase 身份验证,并通过谷歌的 API 使用 firestore。
我断言我尝试过的事情:
链接深度:我的内容有两层深。我把一些拉到只有一层深,但这并没有什么不同。
Slugs:我有博客样本和我的内容。博客有效,我的无效。
我的 Helper js 代码:我在 routes 文件夹中有几个没有下划线名称的 js 文件。我想,也许那些是造成路线问题的原因。我加了下划线,没有区别。
蛞蝓#2:我放置了一个命名文件两层深。无法直接访问没有索引?:我的一些路线只有 [slug].svelte。我添加了 index.svelte。没有不同。
Slugs #3:我的文件被命名为 [playDocId].svelte,然后我使用了 params.playDocId。我把它们换成了[slug]。没有不同
应用服务器:将 polka 换成 express。没有不同
我的路线文件夹的片段
服务器响应
` 找不到页面。
`
包.json
{
"name": "partyshoegame",
"description": "Party Shoe Game",
"version": "0.0.1",
"license": "UNLICENSED",
"scripts": {
"dev": "sapper dev",
"build": "sapper build --legacy",
"export": "sapper export --legacy",
"zeit": "sapper export --legacy && now --prod && sapper dev",
"start": "node __sapper__/build",
"cy:run": "cypress run",
"cy:open": "cypress open",
"test": "run-p --race dev cy:run"
},
"dependencies": {
"@firebase/app": "^0.4.19",
"body-parser": "^1.19.0",
"bulma": "^0.8.0",
"bulma-extensions": "^6.2.7",
"compression": "^1.7.1",
"date-fns": "^2.5.1",
"date-fns-tz": "^1.0.8",
"express": "^4.17.1",
"firebase": "^7.2.0",
"firebaseui": "^4.2.0",
"helmet": "^3.21.2",
"lazysizes": "^5.1.2",
"polka": "^1.0.0-next.7",
"rxfire": "^3.8.7",
"rxjs": "^6.5.3",
"sirv": "^0.4.0",
"uuid": "^3.3.3",
"uuid-random": "^1.3.0",
"xmlhttprequest": "^1.8.0"
},
"devDependencies": {
"@babel/core": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-transform-runtime": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/runtime": "^7.0.0",
"npm-run-all": "^4.1.5",
"rollup": "^1.12.0",
"rollup-plugin-babel": "^4.0.2",
"rollup-plugin-commonjs": "^10.0.0",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-replace": "^2.0.0",
"rollup-plugin-svelte": "^5.0.1",
"rollup-plugin-terser": "^4.0.4",
"sapper": "^0.27.0",
"svelte": "^3.0.0"
},
"main": "main.js",
"repository": "https://github.com/ketupia/psg-firebase",
"author": "Ketupia <ketupia@gmail.com>",
"private": true
}
构建过程
- npm 运行导出
- 提交到 github
zeit/now 自动拉
或者
“npm run zeit”,它是 sapper 导出并推送到现在。
2 : https://i.stack.imgur.com/0tRuu.png找不到页面。
在应用程序中找不到该页面。
404:未找到
代码:RESOURCE_NOT_FOUND ID:cle1:mb46h-1573325573258-8bd73af71130 `
包.json
{
"name": "partyshoegame",
"description": "Party Shoe Game",
"version": "0.0.1",
"license": "UNLICENSED",
"scripts": {
"dev": "sapper dev",
"build": "sapper build --legacy",
"export": "sapper export --legacy",
"zeit": "sapper export --legacy && now --prod && sapper dev",
"start": "node __sapper__/build",
"cy:run": "cypress run",
"cy:open": "cypress open",
"test": "run-p --race dev cy:run"
},
"dependencies": {
"@firebase/app": "^0.4.19",
"body-parser": "^1.19.0",
"bulma": "^0.8.0",
"bulma-extensions": "^6.2.7",
"compression": "^1.7.1",
"date-fns": "^2.5.1",
"date-fns-tz": "^1.0.8",
"express": "^4.17.1",
"firebase": "^7.2.0",
"firebaseui": "^4.2.0",
"helmet": "^3.21.2",
"lazysizes": "^5.1.2",
"polka": "^1.0.0-next.7",
"rxfire": "^3.8.7",
"rxjs": "^6.5.3",
"sirv": "^0.4.0",
"uuid": "^3.3.3",
"uuid-random": "^1.3.0",
"xmlhttprequest": "^1.8.0"
},
"devDependencies": {
"@babel/core": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-transform-runtime": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/runtime": "^7.0.0",
"npm-run-all": "^4.1.5",
"rollup": "^1.12.0",
"rollup-plugin-babel": "^4.0.2",
"rollup-plugin-commonjs": "^10.0.0",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-replace": "^2.0.0",
"rollup-plugin-svelte": "^5.0.1",
"rollup-plugin-terser": "^4.0.4",
"sapper": "^0.27.0",
"svelte": "^3.0.0"
},
"main": "main.js",
"repository": "https://github.com/ketupia/psg-firebase",
"author": "Ketupia <ketupia@gmail.com>",
"private": true
}
构建过程
- npm 运行导出
- 提交到 github
zeit/now 自动拉
或者
“npm run zeit”,它是 sapper 导出并推送到现在。
nuxt.js - 将 Simple Nuxt.js 应用程序部署到 now.sh 不起作用
谁能向我解释这里可能出了什么问题?
我已经部署了一个用Nuxt.js编写的博客应用程序,其中包含动态文章页面到now.sh - 。那里没什么好看的。主页工作正常。当我使用内部链接访问子页面时,一切都很好。
但是,当我对子页面进行硬刷新时,出现错误:Nuxt.js Internal Server Error
我检查了日志,这就是我得到的:
这是一个超级简单的 nuxt 应用程序,我真的不确定这里有什么问题。
node.js - 使用 NOW 部署单独的 api 和 ui | 节点
我不确定我想要的是否可能,我还没有找到任何说它可以完成的东西。大多数情况下,我“认为”应该是可能的。
问题是:我的 api 和用户界面有一个单独的文件,并且现在很想使用 zeit-now 部署两者(请参阅下面的文件结构,希望它很清楚)。
现在主要的问题是,是否可以使用 zeit-now 同时部署 api.js 和 server.js?
亲切的问候,丹尼尔
webpack - 如何在 Nextjs 中使用 Workbox 实现自定义 Service Worker
我正在尝试通过next-offline使用Workbox正确实现 Service Worker 。为了创建一个自定义服务工作者,我使用了workbox-webpack-plugin 的InjectManifest类。我在设置开发环境以运行“now dev”命令时遇到问题。
我目前的尝试在这里:https ://github.com/awb305/nextjs-service-worker-workbox 。
这是我的问题:
- 安装失败
运行“now dev”时,我的 SW 将无法安装和记录:
除非我在 now.json 文件中添加以下重定向:
这解决了 bad-precaching-reponse,但是我还没有在其他地方看到这个实现,所以我对这种方法没有信心。确保正确安装软件的标准方法是什么?
- Webpack 警告
在我的第一个问题中使用我的修复程序运行“now dev”时,我将收到以下警告:
目前我唯一的解决方法是在我的 next.config.js中切换generateInDevMode配置。如果我想安装一个新的服务工作者,我必须使用generateInDevMode: true运行一次“now dev” 。然后我杀死“now dev”并设置generateInDevMode: false以防止显示先前的警告。理想情况下,我宁愿不这样做。
我尝试将我的 webpack 配置设置为:
然而,这并没有消除警告。
我很难找到这个错误。反正有更多的错误浮出水面吗?我是否错误地设置了 webpack watch 配置?
amazon-web-services - 通过 CNAME 别名访问应用程序时,什么可能导致应用程序过时?
我有一个非常奇怪的情况,我的应用程序的陈旧版本仅在通过其 CNAME 别名访问它时才被提供。
该应用程序是使用 Webpack 构建并托管在 Zeit NOW 上的静态节点应用程序。如果我使用直接的 Zeit URL 访问它,我将获得最新版本和正确的 JS 资产:
在 AWS Route53 中,我将 CNAME 设置为别名www.nates-app.com
为https://nates-app.now.sh
. 但是,将我的浏览器指向https://www.nates-app.com
一个过时的index.html
. 更奇怪的是,陈旧的 index.html 页面需要陈旧的 JS 和 CSS 资产,这些资产也被成功返回:
旧版本已超过 48 小时。
挖掘显示几乎相同的结果。dig nates-app.now.sh
导致以下 ANSWER 部分:
dig www.nates-app.com
产生相同的输出,只有一个(预期的)添加显示该ANSWER
部分中的 CNAME:
我没有将 AWS Cloudfront 或任何其他 CDN 用于静态资产。
我显然已经清除了浏览器的缓存,甚至关闭和打开了我的 VPN。一位同事在从不同的 ISP 访问 Internet 时看到了同样的情况。
那么,万维网中的什么可以缓存我网站的 HTML 和随附资产的(非常)旧版本?
deployment - 需要IP才能连接Zeit上的自定义域名
我需要一些帮助。我是 Now 和 Zeit 的新手。我用 Next JS 创建了一个网站,并在 Zeit 上正确部署了它。我正在尝试将我的自定义域连接到它(我的客户在 arsys.es 上得到了它)。但是在 arsys.es 上,如果我想更改名称服务器,我需要为每个名称服务器提供一个 IP,而 Zeit 没有为我提供一个。我也尝试过使用 DNS 条目和使用 Zeit 为我提供的 ALIAS 数据的 CNAME,但仍然无法正常工作。我联系了 arsys.es,他们在 CNAME 之上告诉我,我需要一个带有 IP 的 A 条目。我再一次无法从 Zeit 获得 IP。我用谷歌搜索了很多,找不到解决方案。任何人都可以帮忙吗?谢谢
redirect - 无法将 www 页面添加到 google adsense
我的网站托管在 zeit 上。我购买了域名,但只能通过https://www.example.com访问它,但是当我尝试将我的网站名称输入到 google adsense 时,它会一直降级为https://example.com,因此,由于该验证总是失败。如何解决这个问题?如何更改 dns 设置以将 https .. 重定向到https://www ..?还是可以防止降级到https?我基本上没有通过adsense注册的第一步。
nuxt.js - 更新或编辑 Zeit Now 上托管的 nuxtjs 应用程序
我已经使用 CLI(不使用 github 存储库)构建了一个 Nuxtjs 应用程序并托管在 zeit Now 上。所以我的问题是更新我的应用程序的最佳方式是什么?