- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用这个 twitch npm 包( https://www.npmjs.com/package/twitch ),并且在通过 creat-react-app/react-scripts 部署时遇到了一些问题。
根据我的理解,与 create-react-app 捆绑的 webpack 配置不喜欢这个 npm 包正在使用的 .mjs 文件。因此,当我尝试构建应用程序时,出现以下错误。
./node_modules/twitch/es/API/Kraken/Channel/ChannelApi.mjs
app_1 | Can't import the named export 'Cacheable' from non EcmaScript module (only default export is available)
如果我手动删除了“es”文件夹,那么构建工作并且一切都按预期运行。但是,这不是真正的解决方案,因为当我推送到生产并在那里部署时,会重新安装节点模块并且构建再次失败。
{
"name": "ui",
"version": "1.0.0",
"license": "UNLICENCED",
"private": true,
"dependencies": {
"@babel/core": "^7.9.0",
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
"@babel/register": "^7.0.0",
"axios": "^0.19.2",
"babel-plugin-dynamic-import-node": "^2.2.0",
"btoa": "^1.2.1",
"clipboard-copy": "^3.0.0",
"connected-react-router": "^6.8.0",
"dateformat": "^3.0.3",
"dotenv": "^8.0.0",
"draft-js": "^0.11.0",
"draft-js-export-html": "^1.4.1",
"express": "^4.16.4",
"file-loader": "^3.0.1",
"firebase": "^5.2.0",
"history": "^4.7.2",
"human-date": "^1.4.0",
"ignore-styles": "^5.0.1",
"immutability-helper": "^3.0.0",
"jwt-decode": "^2.2.0",
"lodash": "^4.17.11",
"normalizr": "^3.2.4",
"prop-types": "^15.6.1",
"qs": "^6.5.2",
"react": "^16.8.0",
"react-animations": "^1.0.0",
"react-dnd": "^7.4.5",
"react-dnd-html5-backend": "^7.4.4",
"react-dom": "^16.8.0",
"react-ga": "^2.5.3",
"react-gtm-module": "^2.0.10",
"react-helmet": "^5.2.0",
"react-image-crop": "^8.3.0",
"react-is": "^16.8.0",
"react-loadable": "^5.5.0",
"react-loading-skeleton": "^2.0.1",
"react-on-screen": "^2.1.1",
"react-pdf": "^4.0.5",
"react-pose": "^4.0.6",
"react-redux": "^6.0.1",
"react-router": "^5.1.2",
"react-router-dom": "^5.1.2",
"react-scripts": "3.4.0",
"react-stripe-elements": "^2.0.0",
"redux": "^4.0.0",
"redux-devtools-extension": "^2.13.2",
"redux-thunk": "^2.2.0",
"reselect": "^3.0.1",
"semantic-ui-calendar-react": "^0.15.3",
"semantic-ui-css": "^2.4.1",
"semantic-ui-react": "^0.87.1",
"styled-components": "^4.2.0",
"twitch": "^4.2.4",
"url-loader": "^1.1.2",
"validator": "^11.1.0"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject",
"lint": "eslint src",
"server": "NODE_ENV=production node server/bootstrap.js"
},
"engines": {
"node": "^10.0.0",
"yarn": "^1.12.3"
},
"devDependencies": {
"@babel/plugin-proposal-class-properties": "^7.4.4",
"@babel/plugin-transform-runtime": "^7.4.4",
"eslint": "^6.8.0",
"eslint-config-airbnb": "^18.1.0",
"eslint-config-prettier": "^6.10.1",
"eslint-plugin-import": "^2.11.0",
"eslint-plugin-jsx-a11y": "^6.2.3",
"eslint-plugin-prettier": "^3.1.2",
"eslint-plugin-react": "^7.8.1",
"eslint-plugin-react-hooks": "^3.0.0",
"prettier": "^2.0.2"
},
"proxy": "http://api:8080",
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"jest": {
"moduleNameMapper": {
"\\.worker.js": "<rootDir>/__mocks__/workerMock.js"
}
}
}
最佳答案
在 this GitHub comment 提出的建议是添加 react-app-rewired
到您的项目,然后使用此 config-overrides.js
文件:
module.exports = function override(config) {
config.module.rules.push({
test: /\.mjs$/,
include: /node_modules/,
type: "javascript/auto"
});
return config;
}
在我的项目中,我已经在使用
react-app-rewired
,所以我只是从那个片段中添加了规则。此解决方法为我修复了错误。
twitch
的具体情况下库,作者建议尝试使用
@next
发布,尽管我还没有亲自验证该解决方案。
关于reactjs - 如何使用 webpack 使 create-react-app 支持 .mjs 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64002604/
我是 JS 和 Node.js 的新手。从我读到的似乎是ES6 import is not supported in Node所以我被迫使用experiment mode (renaming my f
我在 Google Cloud Run 上部署了一个简单的 Nuxt(第 3 版)应用程序,并使用 Lighthouse 测试了性能。分数非常糟糕,但它提供的最有影响力的改进之一是启用文本压缩(gzi
我已经开始研究基于 Node.js 的现有项目。我只是想了解执行流程,我遇到了一些 *.mjs文件。我搜索了网页,发现这些是基于模块的 JS 文件。 我想知道它与 *.js 有何不同文件(它有什么好处
客户端在JavaScript中导入模块时,模块扩展名应该是.js还是.mjs? import {myFunction, myVar} from './my_module.js' // Or impor
我似乎无法在任何地方找到这个答案。 SonarQube 目前是否支持 ES 模块(.mjs)文件? 这是一个 Node.js (v9.11.1) 项目。 截至目前,我不确定这是我这边的配置问题,还是只
背景: 假设我的文件夹结构是这样的: project/ -- package.json -- index.mjs -- lib/ -- config/
我们正在尝试使用节点 14.15.0 将 Angular 从 12 升级到 13,并在启动 npm 时遇到以下错误 ERROR in ./node_modules/@angular/platform-
我的Rollup项目是这样的... // rollup.config.js import pkg from "./package.json"; import {getRollupServerConfi
突然我的 react 是应用程序抛出这个错误 ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js Attempted
在最新的 Chrome 浏览器中 import foo from '../dist/foo.mjs' 失败 Failed to load module script: The server respo
我通常使用 nyc为我的单元测试提供覆盖。所有用于 ES6 之前的 require('myModule') 测试的 honkey dorey。我无法让它与使用 ES6 导入的单元测试一起使用。 没有覆
由于 --experimental-modules CLI 开关(即 node --experimental-modules),我的基于 Node 的项目是在 Node 上使用原生 ES 模块支持实现
我在新的 Nuxt3 应用程序之上设置了 Pinia 并启动了开发服务器,并按顺序使用这些命令: npx nuxi init nuxt-app cd nuxt-app npm install npm
我正在尝试使用这个 twitch npm 包( https://www.npmjs.com/package/twitch ),并且在通过 creat-react-app/react-scripts 部
我正在为我的项目使用 graphql 订阅,它是一个 instagram 克隆,我正在执行喜欢或不喜欢帖子的功能,我使用 npx create-react-app创建我的客户,我使用 express做
我想在 Jest 26.1.0 中使用 ES6 模块的导入/导出功能(因为我的整个项目都使用它)。 我为我的测试用例创建了一个名为 testCases/ 的目录其中包含 math.mjs文件。现在我正
有没有办法将 ecmascript 模块文件用作使用 package.json bin 条目导出的 cli 的主要条目文件? 我想我需要以某种方式提供 --experimental-modules 标
很抱歉,如果这个问题得到了回答,我尝试搜索但找不到我要找的东西。 我想构建一个 .mjs 文件,其中包含一个我可以在浏览器和 Node.js 上使用的库类代码。我不想使用 browsify 或任何第
鉴于 ECMAScript 文档中的以下引用和最小的可重现代码示例, 为什么使用 .js Javascript ES 模块导入的文件扩展名导致 ERR_MDOULE_NOT_FOUND package
Uncaught promise when registering a custom element using the latest sapper, svelte, nodeJS, and roll
我是一名优秀的程序员,十分优秀!