当前位置: 首页 > 知识库问答 >
问题:

汇总、打字脚本、电子、反应设置

牟正真
2023-03-14

我正在尝试为electron创建一个汇总设置,并使用typescript进行反应。对于未在/node\u modules/react/index中定义的进程,我得到了一个参考错误。js。

我创建了以下配置文件:

从“@rollup/plugin commonjs”导入commonjs从“rollup plugin copy”导入副本从“@rollup/plugin typescript”导入typescript从“@rollup/plugin node resolve”导入{nodeResolve}”

汇总配置。js:

export default [
   // electron
   {
      input: 'src/main.ts',
      output: [
         {
            file: 'build/main.js',
            format: 'cjs',
            sourcemap: true
         },
      ],
      plugins: [
         nodeResolve(),
         typescript({
            target: 'es5',
         }),
         commonjs({
            include: './node_modules/**',
         }),
         copy({
            targets: [
               { src: './src/index.html', dest: './build' }
            ]
         }),
      ]
   },
   // react
   {
      input: 'src/react/index.tsx',
      output: [
         {
            file: 'build/scripts.js',
            format: 'esm',
            sourcemap: true,
            globals: [
               'react',
            ],
         },
      ],
      plugins: [
         typescript({
            target: 'es5',
            module: 'ESNext',
         }),
         nodeResolve(),
         commonjs({
            include: './node_modules/**',
         }),
      ]
   }
]

tsconfig。json:

{
   "compilerOptions": {
      "target": "es5",
      "module": "commonjs",
      "lib": [
         "dom",
         "es2015",
         "es2016",
         "es2017"
      ],
      "allowJs": true,
      "moduleResolution": "node",
      "sourceMap": true,
      "emitDecoratorMetadata": true,
      "experimentalDecorators": true,
      "removeComments": true,
      "noImplicitAny": true,
      "suppressImplicitAnyIndexErrors": true,
      "forceConsistentCasingInFileNames": true,
      "importHelpers": true,
      "strict": true,
      "alwaysStrict": true,
      "strictNullChecks": true,
      "strictFunctionTypes": true,
      "strictBindCallApply": true,
      "strictPropertyInitialization": true,
      "noImplicitThis": true,
      "esModuleInterop": true,
      "jsx": "react",
   },
   "exclude": [
      "node_modules"
   ]
}

我希望你能帮我。可悲的是,我不知道问题出在哪里。

当做

共有1个答案

韦澄邈
2023-03-14

我摆弄了一下,让它按照我想要的方式工作:

rollup.config.js

import commonjs from '@rollup/plugin-commonjs'
import copy from 'rollup-plugin-copy'
import typescript from '@rollup/plugin-typescript'
import { nodeResolve } from '@rollup/plugin-node-resolve'
import replace from '@rollup/plugin-replace'

export default [
   // electron
   {
      input: 'src/main.ts',
      output: [
         {
            file: 'build/main.js',
            format: 'cjs',
            sourcemap: true
         },
      ],
      plugins: [
         nodeResolve(),
         typescript(),
         commonjs({
            include: './node_modules/**',
         }),
         copy({
            targets: [
               { src: './src/index.html', dest: './build' }
            ]
         }),
      ]
   },
   // react
   {
      input: 'src/react/index.tsx',
      output: [
         {
            file: 'build/scripts.js',
            format: 'esm',
            sourcemap: true,
            globals: [
               'react',
            ],
         },
      ],
      plugins: [
         typescript({
            module: 'ESNext',
         }),
         commonjs({
            include: './node_modules/**',
         }),
         nodeResolve(),
         replace({
            'process.env.NODE_ENV': JSON.stringify('production')
         }),
      ]
   }
]

tsconfig。json

{
   "compilerOptions": {
      "target": "es5",
      "module": "commonjs",
      "lib": [
         "dom",
         "es2015",
         "es2016",
         "es2017"
      ],
      "allowJs": true,
      "moduleResolution": "node",
      "sourceMap": true,
      "emitDecoratorMetadata": true,
      "experimentalDecorators": true,
      "removeComments": true,
      "noImplicitAny": true,
      "suppressImplicitAnyIndexErrors": true,
      "forceConsistentCasingInFileNames": true,
      "importHelpers": true,
      "strict": true,
      "alwaysStrict": true,
      "strictNullChecks": true,
      "strictFunctionTypes": true,
      "strictBindCallApply": true,
      "strictPropertyInitialization": true,
      "noImplicitThis": true,
      "esModuleInterop": true,
      "jsx": "react",
   },
   "exclude": [
      "node_modules"
   ]
}
 类似资料:
  • 在电子封装的应用程序中,我试图从node_modules依赖项执行服务器文件。从主要过程中,我正在尝试这样的东西: 当从本地命令行启动我的应用程序时,我看到服务器按预期启动,但当打包为asar时,服务器不会按预期启动。实现这一目标的正确方法是什么? 注: 我已经调查了https://electron.atom.io/docs/tutorial/application-packaging/#exec

  • 问题内容: 使用react和electronic创建桌面应用程序。我想从react组件中调用main.js电子方法。 main.js 如何克服这个问题? 问题答案: 在您的Renderer.js 在您的main.js 这是在主进程与渲染进程之间进行通信的最简单方法。 但是我认为您将使用以下方法将主过程的结果发送到渲染器 因此,这意味着您正在通过IPC通道将结果从main发送到渲染器。并且您应该在渲

  • 我试图使用原子电子为Mac和Windows编写桌面应用程序。 我需要的是: 一个按钮。 当用户单击按钮时,它将运行以下shell(或python脚本): 结果将显示在文本区域中。 我试着使用[shelljs]和[yargs],但它似乎不适用于原子电子。 所有我想要的是使用JAVASCRIPT编写桌面应用程序(当然是GUI),调用一些脚本(shell 如有任何建议,将不胜感激,谢谢:)

  • 我在试图把这两件事结合在一起的时候遇到了一些问题。 让我给你一些上下文:我正在尝试构建一个基于我在react中开发的web应用程序的桌面应用程序,它完全可以运行,react的构建过程没有任何错误或问题。问题来了,当我试图胶合电子+一个反应建成的项目。 我的结构如下: /dist /node_module /react-mobx-router /生成 /静态 /js main.05ef4655.js

  • 有一种方法可以将useState与接口类型一起使用吗? 这就是我想做的: 但是在类型上有错误。 我的界面: 根据这篇文章:用TypeScript在useState React Hook上设置类型。 我可以尝试这样做: 但它看起来不干净,我不认为这是将随机值置于第一状态的好方法。

  • 尝试使用汇总预加载图像时遇到问题。所有应该有用的废话都没有,不知道为什么。有人设法让它工作了吗?这是我的汇总表。康吉格。js: 以下是我在资料来源中得到的信息: 最后,我从rtp2插件中得到一个错误,它说: 语义错误TS 2307,找不到模块“./resources/expand.png” 奇怪的是,我得到了其他各种图像加载插件的汇总相同。路径是正确的,图像就在那里。我已经为这个错误发疯了=((

  • 我正在使用Google表单将多条消息合并到一个每日电子邮件中,使用脚本和每日定时触发器发送(代码从这里复制,下面是我的版本)。 例如,一个电子邮件地址是abc@example.co.uk,他们收到了电子邮件,但在我的收件箱(xyz@example.co.uk)中是发送到abc@example.co.uk的电子邮件,但不是转发的消息或回复。 有什么办法阻止这一切吗?

  • 使用指南 - 账户管理 - 站点管理 - 如何设置汇总网站 汇总网站的概念 您可以通过汇总网站的设置,将多个站点的数据合并,以便查看和分析这些站点的整体累加数据。 ##如何设置汇总网站 在“管理”->“网站列表”中可以添加汇总网站。 如果之前没有添加汇总网站,在如下图中的位置点击添加汇总网站。 如果已经设置过汇总网站,在如下图中的位置点击添加汇总网站。 数据查看 完成汇总网站的设置后,汇总网站会出