为了账号安全,请及时绑定邮箱和手机立即绑定

导入uuid需要用import,报错,electorn要怎么配置es编译

import { v4  } from 'uuid'

^^^^^^


SyntaxError: Cannot use import statement outside a module

    at Module._compile (internal/modules/cjs/loader.js:815:22)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:892:10)

    at Module.load (internal/modules/cjs/loader.js:735:32)

    at Module._load (internal/modules/cjs/loader.js:648:12)

    at Module._load (electron/js2c/asar.js:717:26)

    at Function.Module._load (electron/js2c/asar.js:717:26)

    at Module.require (internal/modules/cjs/loader.js:775:19)

    at require (internal/modules/cjs/helpers.js:68:18)

    at Object.<anonymous> (D:\myself\electron\electron-quick-start\main.js:2:19)

    at Module._compile (internal/modules/cjs/loader.js:880:30)


正在回答

2 回答

我想你被前端的模块化搞糊涂了,electron是基于node做开发的,而node的模块化是commonjs规范,也就是用require做导包,如果你想混用esm(import)和commonJS(require)就不得不用第三方打包工具,如webpack,但是配置webpack麻烦,所以我推荐的做法是直接使用typescript做编译,写ts源码,ts是支持esm规范的,而且有类型约束,编译后的代码可以是esm规范也可以是commonJS规范,但是要用electron启动编译后的代码就必须是commonJS规范,否则electron不识别。

0 回复 有任何疑惑可以回复我~
const { v4: uuidv4 } = require('uuid');

试试这个,npm上的例子

https://www.npmjs.com/package/uuid

3 回复 有任何疑惑可以回复我~
#1

愿你不再是木偶

楼上正解!
2020-12-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

导入uuid需要用import,报错,electorn要怎么配置es编译

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信