ES6 import failed
SettingDust opened this issue · comments
SettingDust commented
import { CQWebSocket } from 'cq-websocket';
^^^^^^^^^^^
SyntaxError: The requested module 'cq-websocket' does not provide an export named 'CQWebSocket'
暂时用沙雕方式替代
const CQWebSocket = (await import('cq-websocket')).default.default;
牛牛 commented
欸, 我用了 webpack 沒複現這個狀況出來耶
- package.json
{
"dependencies": {
"cq-websocket": "^2.0.0"
}
}
- index.js
import { CQWebSocket } from 'cq-websocket'
console.log(CQWebSocket)
- webpack.config.js
const path = require('path')
module.exports = {
mode: 'development',
entry: path.join(__dirname, 'index.js')
}
下了 webpack
命令後, 生成 dist/main.js
接著下命令 node dist/main.js
$ node dist/main.js
[Function: CQWebSocket]
能提供一下你的用法嗎?
webpack 或是 babel 相關的配置?
還有 cq-websocket
的版本?
SettingDust commented
啊 忘了回复了 最终原因是我忘了使用mjs 我写的时候没有依赖webpack
webpack是有es6处理的 node正式功能没有。
牛牛 commented
@SettingDust 要在 node 用 ES6 可以考慮 babel-register
一下 😄
SettingDust commented
@SettingDust 要在 node 用 ES6 可以考慮
babel-register
一下 😄
实验功能已经从node9开始就有了(昨天刚知道),带参数执行node然后就会把mjs文件做es6语法处理 貌似不需要babel(就是不想用),另外感觉您脸熟。。。