簡體   English   中英

導入函數的正確方法

[英]Proper method of importing functions

在了解了 javascript 承諾及其行為方式的一些非常有用的提示之后,我正在尋求一些幫助,以將函數從一個 javascript 文件正確導入/導出到另一個通過 NodeJS 運行的文件。

Essentially I want basicNode.js to open an html doc, and then once that is open (and the promise implied via the open(html) statement is 100% complete/finalized) run the function from change.js to alter the html to show “你好”代替“歡迎使用 JavaScript”。 這將提供概念證明,然后可以推斷出在我的實習期間處理自動化報告的項目,因此非常感謝任何幫助

基本的.html

<!DOCTYPE html>
<html>  
<head>  
</head>  
<body>
<p>Date/Time: <span id="datetime"></span></p>
  
<p id="here">Welcome to JavaScript</p>  
<form>  
<input type="button" value="click" onclick="changeThis()"/>  
</form>  
</body> 
<script>
var dt = new Date();
    document.getElementById("datetime").innerHTML = dt.toLocaleString();
</script>
<script type="text/javascript" src="change.js"></script> 
<!--
<script>waitForElementToDisplay("#here",function(){alert("Hi");},1000,9000);</script> 
--> 
</html> 

改變.js

function changeThis() {
    document.getElementById("here").innerHTML = "Hello";
}

module.exports={changeThis};

基本節點.js

const open = require('open');
var { change }  = require('./change')
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
global.document = new JSDOM('./basic.html').window.document;

const main = async () => {
  await open('./basic.html');
  change.changeThis();
}

main();

在您的change.js文件中,您將 function 作為命名導出導出。 如果您只從文件中導出一個 function(這不是規則),通常使用命名導出,而命名導出主要用於從文件中導出多個函數時。

這是一個命名導出

module.exports= { changeThis };

命名導出導入為

var { changeThis }  = require('./change')

與命名導出相反的是默認導出。

module.exports = changeThis

這被導入為

var changeThis = require("./change")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM