【问题标题】:How to import extremely long JavaScript const into an HTML file如何将极长的 JavaScript 常量导入 HTML 文件
【发布时间】:2019-08-24 03:50:21
【问题描述】:

我有一个几千行长的 JavaScript 常量。当我将这个常量(对象数组)直接包含在我的 index.html 文件的标签中时,该常量就可以在我正在使用的图表库中使用。但是,如果我尝试将该 const 导入到图表库的脚本标签中,则它不可用。

如何成功地将 JS 常量导入 html 文件,以便在脚本标签中使用它。

我拥有的html文件中的脚本标签设置为:

<script>
    import { extremelyLongJSConst } from "./example.js";
other js content
</script>

example.js JS 文件使用以下方式导出 const:

export const extremelyLongJSConst = {
lots of info
}

我尝试将脚本标签定义为 type="module",但没有成功,甚至不确定在这种情况下我想要做什么是可能的。

【问题讨论】:

  • 我们的别名import { extremelyLongJSConst as smallText } from "./example.js";
  • 这也不起作用。我原以为别名是一样的。
  • 它是一个包含字符串的对象数组
  • 这行不通。无法导入 html 文件并可用。它可能是图表库,但我认为它是导入本身。
  • 首先,&lt;script type="module"&gt; 必需的。然后检查浏览器的控制台是否有错误,例如关于同源政策。

标签: javascript html


【解决方案1】:

在您的 HTML 中:

<script type="module">
    import longJSON from './longJSON.js';
    console.log(longJSON);
</script

longJSON.js

export default {
    some: 'super fancy content'
};

模块信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules

致以最诚挚的问候

【讨论】:

  • 由于 Cors 政策而被阻止
  • 好吧,您没有提到您正在尝试从另一个域请求文件。要启用 CORS,您请求的服务器必须将 Access-Control-Allow-Origin 添加到其标头
  • 这种情况只是将 js 文件导入 html 文件。不涉及多个域,也不涉及服务器。
  • 我在我的域上上传了一个测试:samuelweber.at/test.html - 可以在控制台中找到输出
  • 很奇怪。我仍然看到:对脚本的访问...从源“null”已被 CORS 策略阻止:跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https。
猜你喜欢
  • 2011-09-14
  • 1970-01-01
  • 1970-01-01
  • 2019-01-18
  • 2022-11-19
  • 2019-12-18
  • 2023-03-03
  • 2020-10-28
  • 2021-03-19
相关资源
最近更新 更多