Javascript 节点/网页包4-如何使用根域
我需要在通过javascript注入html的视图中使用页面的根域:Javascript 节点/网页包4-如何使用根域,javascript,node.js,webpack,netlify,Javascript,Node.js,Webpack,Netlify,我需要在通过javascript注入html的视图中使用页面的根域: <meta property="og:url" name="twitter:url" itemprop="url" content="<%- root_domain %><%- local_path %>"> 问题是,今天我用硬编码的方式来做,因为我总是将它设置为https://www.example.com 但在我们的Netlify CI中,根域在每个构建中都会发生更改,比如在一个构建中
<meta property="og:url" name="twitter:url" itemprop="url" content="<%- root_domain %><%- local_path %>">
问题是,今天我用硬编码的方式来做,因为我总是将它设置为https://www.example.com 但在我们的Netlify CI中,根域在每个构建中都会发生更改,比如在一个构建中部署-preview-118-xyz-434545.Netlify.com,然后部署-preview-119-xyz-434545.Netlify.com,等等
因此,我不想将root_域硬编码为https:://www.example.com
在一个节点应用程序中,webpack自动识别根域?是否有一种方法,如果我使用它,它总是给出当前的根域?来自Rails生态系统,我们有根路径方法,它始终等于根域,这里是example.com、deploy-preview-118-xyz-434545.netlify.com、deploy-preview-119-xyz-434545.netlify.com
不确定它在这个问题上起了什么作用,但我们使用了plugin,所以我们有一个locals.path方法,但它提供了根域之后的所有内容,而我们想要的是根域。基于我们上面的讨论 在查看Netlify的文档后,他们提供了几个内置的环境变量,包括URL、DEPLOY_URL和DEPLOY_PRIME_URL 参考: 您应该能够在构建中使用这些设置变量 可以使用process.env在node.js中访问环境变量。 因此,在您的Web包中,配置会将根url传递给静态站点生成器
plugins: [
new StaticSiteGeneratorPlugin({
locals: {
root_domain: process.env.DEPLOY_PRIME_URL || 'https://www.example.com'
}
})
]
在哪里https://www.example.com 将用于本地开发或在没有环境变量的情况下使用。如果您完全删除并仅使用,或者在此上下文中不支持相对URL,会怎么样?不起作用。如果我只留下content=,我将查看主页content=,以及example.com/es/foo content=/es/foo页面。这在使用href属性的元上运行良好,但在使用content属性的元上,您需要一个绝对路径=您必须拥有整个url。因此,我需要注入根域。另外,我确信在其他情况下,我将需要能够访问根域:然后,我能想到的唯一其他选项是在管道中使用deploy url变量,并从webpack配置中读取它。看见URL、DEPLOY\u URL或DEPLOY\u PRIME\u URLnice在netlify上错过了这些方法,谢谢