javascript - JavaScript 模块导入/导出
问题描述
我刚刚了解了 JS 中的模块。我正在尝试在我的机器上完成这项工作,但我仍然有几个问题,因为它只在某些情况下有效。
我已经看过并尝试过使用以下语法的 youtube 视频中的示例:
// number.js
export const num = 5;
// main.js
import { num } from './number.js'
//This throws the following error:
import { num } from './number.js';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:1072:16)
at Module._compile (internal/modules/cjs/loader.js:1122:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
at Module.load (internal/modules/cjs/loader.js:1002:32)
at Function.Module._load (internal/modules/cjs/loader.js:901:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
at internal/main/run_main_module.js:18:47
就我而言,它仅在我这样做时才有效:
// number.js
const num = 10;
module.exports = { num };
// main.js
const num = require('./number.js');
谁能启发我并告诉我有什么区别,如果我这样做在技术上是正确的?
提前致谢!
解决方案
module.exports() 函数是 nodejs 附带的默认函数,是 requirejs 模块的一部分。另一方面,导入和导出更多的是 ES6 及更高版本的功能,我相信您需要 webpack 模块或 babel 模块将其转换为浏览器渲染引擎在运行时可以理解的正常 ES5 语法。这是上述两个模块的链接。
webpack - https://webpack.js.org/
通天塔 - https://babeljs.io/
推荐阅读
- c++ - 64位机器上的C++内存对齐
- php - 在 WooCommerce 中获取并显示选定的变体 SKU
- reactjs - “检查‘App’的渲染方法”。- 我是否导出错误?
- excel - 灾难性故障 EXCEL VBA - 错误“-2147418113 (8000ffff)”
- excel - 根据另一列的值对整列进行条件格式化
- hyperledger-fabric - stub.getQueryResult(queryString) 如何获得超过 100 个结果
- qt - 有人能给我一个简单的qt例子吗?
- python - 是否可以更改 fastAPI 中的 pydantic 错误消息?
- python - Flask-wtforms 重定向表单提交和传递变量
- asp.net-core - 为 SignalR javascript 客户端构建 Url 时忽略自签名证书