【问题标题】:Cannot use import in javascript无法在 javascript 中使用导入
【发布时间】:2022-01-01 16:45:52
【问题描述】:

我有一个让我困惑的问题! 我正在前端创建一个基于 javascript 和 HTML/CSS 的桌面应用程序,并使用 tauri 提供 Rust 作为后端。 Tauri 只提供后端和一些可以在桌面上运行的应用程序,我们可以在前端使用我们喜欢的东西。所以我使用 jquery 作为 js 库。它适用于一些 js 包管理器,如 npm 或 yarn。我用纱线。

有什么问题:

在一段代码中,我需要将一些 Tauri 模块导入到我的 script.js 文件中。 但是,有一些问题我试图解决它们,但它们让我感到困惑。

这是我在主 HTML 文件中的脚本标签:

<script src="../node_modules/@fortawesome/fontawesome-free/js/all.js"></script>
<script src="./app/Jquery.js"></script>
<script src="./chart/apexcharts.js"></script>
<script src="./script.js"></script>

script.js 是我的主要 js 文件。

我尝试了哪些方法:

所以在script.js我使用如下的import语句:

import { appWindow } from "../node_modules/@tauri-apps/api/window.ts";

const childwin = appWindow.open("new.html");

所以第一个错误现在会显示出来:

SyntaxError: Unexpected token '{'. import call expects exactly one argument.

我不知道为什么会出现这个错误,但我删除了{s:

SyntaxError: Unexpected identifier 'appWindow'. import call expects exactly one argument.

天哪!它是什么?!我搜索了一下,有人说在脚本标签中使用type 属性。好的:

<script src="./script.js" type="module"></script>

结果:

TypeError: 'text/html' is not a valid JavaScript MIME type.

该死!所以我搜索它,其他人说:哦,你使用类型属性吗?去删除它:(

现在我很困惑,如果有人帮助我,我很感激:)

编辑: 一位朋友说问题出在我正在导入的 .ts 文件上,因为浏览器(或 Web 引擎)不支持它。但我也尝试导入 .js 文件,它也会导致同样的错误:

SyntaxError: Unexpected identifier 'loadReport'. import call expects exactly one argument.

【问题讨论】:

    标签: javascript web import module importerror


    【解决方案1】:

    浏览器无法读取打字稿.ts 文件。必须导入编译后的版本

    【讨论】:

    • 他从来没有说过关于 TypeScript 的事?
    • 在react组件中导入的react文件也是ts文件。是不是意味着 React 会编译 ts 文件?
    • @GoldenretriverYT 我导入的文件是 .ts "../node_modules/@tauri-apps/api/window.ts"
    • @tpsp 我尝试使用 .js 文件,它也会导致同样的错误:(
    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多