Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

HTMLファイルがソースモジュールからJavaScript関数を見つけられないのはなぜですか?


これは、「export」ステートメントを使用していない場合に発生する可能性があります。スクリプトファイルにインポートされる関数の前に「エクスポート」を使用します。 JavaScriptファイルは次のとおりで、emo.jsという名前のファイルがあります。

demo.js

console.log("function will import");
export function test(){
   console.log("Imported!!!");
}

上記の関数をインポートする「index.html」ファイルは次のとおりです-

index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initialscale=1.0">
<title>Document</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>
<script type='module'>
   import { test } from "./demo.js"
   test();
</script>
</body>
</html>

上記のプログラムを実行するには、ファイル名「anyName.html(index.html)」を保存して、ファイルを右クリックします。 VSCodeEditorで[OpenwithLiveServer]オプションを選択します。

以下は、関数名test()を持つファイルdemo.jsからの出力です。

HTMLファイルがソースモジュールからJavaScript関数を見つけられないのはなぜですか?


  1. 子のinnerTextなしでJavaScriptでH1innerTextを取得するにはどうすればよいですか?

    このために、-のようなtextContentを使用できます。 childNodes[0].textContent; 例 以下はコードです- <!DOCTYPE html> <html lang="en"> <head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">

  2. JavaScriptは関数の結果をHTMLとして表示しますか?

    関数の結果をHTMLとして表示するには、-を使用できます。 document.getElementById().innerHTML. 例 以下はコードです- <!DOCTYPE html> <html lang="en"> <head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0&