如何在 JS 中将 import 语句转换为 require() 语句
How to Convert, in JS, an import statement to a require() statement
我在JavaScript中有一个声明:
import app, { set } from '../app';
如何在表单中编写等效语句,例如我不会收到 'Cannot use import statement outside a module'.
这样的错误
我可以使用以下格式转换类似的不太复杂的语句:
var Foo = require(foo);
但是不明白这个怎么转换。
并非每个 import
都可以转换为 require
。在纯 Node.js 中,这仅在所需模块是 CommonJS 模块时才有可能,但使用 Webpack 或 Babel 等工具时情况有所不同。
我想你正在使用这些工具之一,否则你将无法在没有文件扩展名的情况下导入 ../app
:你需要从 ../app.js
或 ../app/index.js
显式,或使用导出映射,但这是另一回事。
那么如果
import app, { set } from '../app';
是 ES 模块中的有效导入,无论使用何种加载器,等效的 CommonJS 语法都是
const app = require('../app');
const { set } = app;
我在JavaScript中有一个声明:
import app, { set } from '../app';
如何在表单中编写等效语句,例如我不会收到 'Cannot use import statement outside a module'.
这样的错误我可以使用以下格式转换类似的不太复杂的语句: var Foo = require(foo);
但是不明白这个怎么转换。
并非每个 import
都可以转换为 require
。在纯 Node.js 中,这仅在所需模块是 CommonJS 模块时才有可能,但使用 Webpack 或 Babel 等工具时情况有所不同。
我想你正在使用这些工具之一,否则你将无法在没有文件扩展名的情况下导入 ../app
:你需要从 ../app.js
或 ../app/index.js
显式,或使用导出映射,但这是另一回事。
那么如果
import app, { set } from '../app';
是 ES 模块中的有效导入,无论使用何种加载器,等效的 CommonJS 语法都是
const app = require('../app');
const { set } = app;