我正在用Next.js创建一个React。我的ES6导入对于我创建的.js文件工作正常,但是当我导入log-composed
时,它在下一个失败,但在react-app中成功:
webrtc-adapter
例如,以下是两个复制的链接:
以下是简化的测试用例。只需导入import {adapterFactory} from './adapter_factory.js';
^
SyntaxError: Unexpected token {
并进行控制台即可。在CRA中可用,但在Next中不可用。
在我自己的文件中导入ES6可以很好地工作,但不能使用外部软件包。有什么想法吗?
webrtc-adapter
在pages / index.js
中{
"name": "webrtc-test",
"version": "0.1.0",
"private": true,
"dependencies": {
"next": "^7.0.2",
"react": "^16.8.0-alpha.0",
"react-dom": "^16.8.0-alpha.0",
"webrtc-adapter": "^7.1.1"
},
"scripts": {
"dev": "next",
"build": "next build",
"start": "next start"
}
}
我什至尝试:
import adapter from 'webrtc-adapter';
console.log(adapter);
export default () => <div>Welcome to next!</div>;
任何帮助将不胜感激!
答案 0 :(得分:0)
由于Next.JS是在服务器和客户端上编译的,因此不能确定您是否处于浏览器上下文中(窗口未定义)。
要经常解决此问题,您可以使用简单的检查方法,例如:
if (typeof window !== 'undefined') {
var adapter = require('webrtc-adapter')
}
确保您在浏览器上下文中