我想知道如何在节点后端结合带有笑话的esm软件包https://www.npmjs.com/package/esm。
我尝试使用require("esm")和require("esm")(module)在文件的最顶部设置安装文件,但这仍然给我SyntaxError: Unexpected token错误。
我以前会用过,node -r esm但开玩笑不支持这一点。
执行时require("esm")(module),请在创建esm-transformer函数时将其想到,该函数正在等待文件转换为ES模块。
这是我对带有节点v8 +的尝试:
默认jest配置
默认esm配置
utils-1.js:
export const add = (a, b) => a + b;
Run Code Online (Sandbox Code Playgroud)
utils-2.js:
export const multiAdd = array => array.reduce((sum, next) => sum + next, 0)
Run Code Online (Sandbox Code Playgroud)
_test_ / utils-1.assert.js
import { add } from '../utils-1';
describe('add(a,b)', () => {
it('should return the addtion of its two inputs', () => {
expect(add(1,2)).toBe(3);
});
});
Run Code Online (Sandbox Code Playgroud)
_test_ / utils-2.assert.js
import { multiAdd } from '../utils-2';
describe('multiAdd(<Number[]>)', () => {
it('should return a summation of all array elements', () => {
expect(multiAdd([1,2,3,4])).toBe(10);
})
});
Run Code Online (Sandbox Code Playgroud)
_test_ / utils.test.js
const esmImport = require('esm')(module);
const utils_1 = esmImport('./utils-1.assert')
const utils_2 = esmImport('./utils-2.assert')
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
1686 次 |
| 最近记录: |