[英]How to import "path.join" in module?
我在下面遇到問題。 據我所知,這是因為我在package.json文件中添加了"type": "module"
。 但是我們有辦法在模塊中轉換下面的代碼嗎? 到目前為止我找不到好的資源。
const model = require(path.join(__dirname, file))( ReferenceError: require is not defined
我的代碼:
const model = require(path.join(__dirname, file))(
sequelize,
Sequelize.DataTypes
);
db[model.name] = model;
您可以使用動態導入來復制它。 這是使用您的代碼的示例:
import(path.join(__dirname, file))
.then(mod => {
const model = mod(sequelize, Sequelize.DataTypes);
db[model.name] = model;
});
請注意,這是異步運行的。 如果您使用的是支持頂級等待的最新版本的 Node.js,或者此代碼正在異步 function 中運行,那么您可以改用此代碼:
const mod = await import(path.join(__dirname, file));
const model = mod(sequelize, Sequelize.DataTypes);
db[model.name] = model;
如果這回答了您的問題,那么您可以將其標記為正確。
您正在調用名為require
的 function 並且您收到一個錯誤,告訴您它未定義。 這很好地表明您的require
function 確實未定義。
您很可能想使用 RequireJS: https://requirejs.org/
在您嘗試調用require
時,您需要確保 RequireJS 已經加載並正確初始化。
如果你使用 NodeJS,你需要安裝 RequireJS,比如
npm install requirejs
如果您嘗試在瀏覽器中使用它,則需要通過script
標簽鏈接它。 這里有更多信息和實際示例的教程: https://www.tutorialspoint.com/requirejs/index.htm
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.