Node/Webpack 4 - 如何使用根域
Node/Webpack 4 - how to use the root domain
我需要在通过 javascript:
注入 html 的视图中使用页面的根域
<meta property="og:url" name="twitter:url" itemprop="url" content="<%- root_domain %><%- local_path %>">
问题是,今天我有点像 "hard-coded" 那样做,因为我将它设置为始终等于 https://www.example.com
但在我们的 Netlify CI 中,根域每次都会更改子域构建,例如 deploy-preview-118--xyz-434545.netlify.com
在一个构建上,然后是 deploy-preview-119--xyz-434545.netlify.com
,依此类推...
所以我不想将 root_domain 硬编码设置为 https:://www.example.com.
在具有 webpack 根域自我意识的节点应用程序中?有没有一种方法,如果我使用总是给当前的根域?来自 Rails 生态系统,我们有 root_path
方法,它始终等于根域(此处为 example.com
、deploy-preview-118--xyz-434545.netlify.com
、deploy-preview-119--xyz-434545.netlify.com
... ).
不确定它在这个问题上是否起作用,但我们使用 https://github.com/markdalgleish/static-site-generator-webpack-plugin 插件,所以我们有一个 locals.path 方法,但它为我们提供了根域之后的所有内容,而我们想要的是根域名。
基于我们上面的讨论。
查看 Netlify 的文档后,他们提供了几个内置的环境变量,其中包括 URL
、DEPLOY_URL
和 DEPLOY_PRIME_URL
参考:netlify-build-environment-variables
您应该能够在构建中使用这些来设置 <%- root_domain %>
变量。
可以使用 process.env
在 node.js
中访问环境变量。
因此,在您的 webpack 配置中,会将 root url 传递给静态站点生成器。
plugins: [
new StaticSiteGeneratorPlugin({
locals: {
root_domain: process.env.DEPLOY_PRIME_URL || 'https://www.example.com'
}
})
]
其中 https://www.example.com
将用于本地开发或在没有环境变量的情况下。
我需要在通过 javascript:
注入 html 的视图中使用页面的根域<meta property="og:url" name="twitter:url" itemprop="url" content="<%- root_domain %><%- local_path %>">
问题是,今天我有点像 "hard-coded" 那样做,因为我将它设置为始终等于 https://www.example.com
但在我们的 Netlify CI 中,根域每次都会更改子域构建,例如 deploy-preview-118--xyz-434545.netlify.com
在一个构建上,然后是 deploy-preview-119--xyz-434545.netlify.com
,依此类推...
所以我不想将 root_domain 硬编码设置为 https:://www.example.com.
在具有 webpack 根域自我意识的节点应用程序中?有没有一种方法,如果我使用总是给当前的根域?来自 Rails 生态系统,我们有 root_path
方法,它始终等于根域(此处为 example.com
、deploy-preview-118--xyz-434545.netlify.com
、deploy-preview-119--xyz-434545.netlify.com
... ).
不确定它在这个问题上是否起作用,但我们使用 https://github.com/markdalgleish/static-site-generator-webpack-plugin 插件,所以我们有一个 locals.path 方法,但它为我们提供了根域之后的所有内容,而我们想要的是根域名。
基于我们上面的讨论。
查看 Netlify 的文档后,他们提供了几个内置的环境变量,其中包括 URL
、DEPLOY_URL
和 DEPLOY_PRIME_URL
参考:netlify-build-environment-variables
您应该能够在构建中使用这些来设置 <%- root_domain %>
变量。
可以使用 process.env
在 node.js
中访问环境变量。
因此,在您的 webpack 配置中,会将 root url 传递给静态站点生成器。
plugins: [
new StaticSiteGeneratorPlugin({
locals: {
root_domain: process.env.DEPLOY_PRIME_URL || 'https://www.example.com'
}
})
]
其中 https://www.example.com
将用于本地开发或在没有环境变量的情况下。