electron、nodejs、typescript、idea 组合开发,安装和配置 以及错误 等 详细说明
1. 创建项目,创建时 选择 nodejs 项目,因为 开发 electron 与 开发 nodejs 基本一致。


2.安装 electron

npm i -D electron@beta

看目录分析:


他妈的 在 npm 官方网站是搜索框里都搜不到 这个,百度才出来,网址为:https://www.npmjs.com/package/@types/electron


3.安装 typescript

4.开始根据,electron的文档,开始实战。



接下来需要配置,typescript ,让main.ts自动 编译成 main.js 这个是我独创摸索的方法。







接下来,我们开始 分析一下 这个 demo的main.js的代码:

我们main.ts里 写代码的时候,发现没有智能提示!!!,这怎么能行,这是因为 官方 demo都是用的 commonjs模块化 + es6语法,即:只有在 js文件里写 才会有智能提示,
我们新建一个abc.js文件 而不是ts留意 ,然后把官方的main.js里的 代码 放到 abc.js 看下 是否会有智能提示。如下gif:

【重要!重要!重要!只所以,在ts下 没有 智能提示,原因是 ts的模块化 最终要翻译成 commonjs amd cmd es6标准模块 等等,需要兼容很多模块化,难点就在这里,问题点,也出在这里 非常重要,这里。】
那么ts的开发者 就必须 自己有一套 模块化,最终 把自己的这一套模块化 通过编译器 编译成 各种模块化规范,那么 ts官方 就指定了 针对最终要转换成 commonjs模块化规范时,在ts里 应该如何
写的规范,看官方文档:


/*
这个是官方的写法,这个是直接写在js 文件中的,没有问题,但是我们是用 ts的
需要改变
*/
//const { app, BrowserWindow } = require('electron');//另外注意,这是一种解构赋值写法.
若要引入,官方的模块的话,最好的方法 就是让 IDE自动引入把,看下面gif:

//看下ide自动引入是怎么引入的,以后就这么写把,推荐这么写,方便与IDE自动生成的一致。
import Electron = require("electron");
import BrowserWindow = Electron.BrowserWindow;//这种写法是typescript 命名空间 文档里说的 命名写法。留意一下。以后还是少用模块+命名空间的方式,太繁琐 容易出问题,除非第三方的js,自己写不要2种同时用,我们只用模块就可
import app = Electron.app;


electron、nodejs、typescript、idea 组合开发,安装和配置 以及错误 等 详细说明的更多相关文章
- Ubuntu 16.04 LTS nodejs+pm2+nginx+git 基础安装及配置环境(未完,未整理)
-.Ubuntu 安装nodejs 以下内容均在命令行,完成,首先你要去你电脑的home目录:cd ~. [sudo] apt-get update [sudo] apt-get upgrade ap ...
- ubuntu下安装和配置apache2+SVN的详细方法介绍
ubuntu安装和配置SVN第一步:安装apache2 libapache2-svn subversionsudo apt-get install apache2sudo apt-get insta ...
- 开始使用 Manjaro(添加源+字体渲染去模糊+软件安装+优化配置+常见错误)(30)
1. 添加 archlinux 镜像源 1. 步骤一 向 /etc/pacman.d/mirrorlist 中添加国内镜像地址 1.1 方法1:自动添加 1. 输入如下命令查看国内镜像源,并按质量排序 ...
- 【Nodejs】【node.js 安装 和 配置Sublime Text的Node.js】
[一] [安装nodejs] 第一步:下载安装文件: https://nodejs.org/en/download/ 第二步:安装nodejs 下载完成之后,双击"node-v6.10.1- ...
- 开始使用 Ubuntu(字体渲染去模糊+软件安装+优化配置+常见错误)(29)
1. 中文字体渲染美化 + 去模糊 步骤: 1. 解压安装 lulinux_fontsConf_181226.tar.gz,按里面的安装说明操作: 2. 开启字体渲染: 打开 unity-tweak- ...
- Anconda、Pycharm下载、安装、配置教程(极其详细)
Anacond的介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项. 因为包含了大量的科学包,Anaconda 的下载文件比较大( ...
- JavaWeb开发Eclipse环境配置--史上最详细的教程
[前言] JSP本身是JavaWeb中的知识,但是在学习Android网络时,必然要涉及到与服务器之间的交互,所以学一下JSP以及其他JavaWeb的内容还是很有必要的,至少能明白程序在访问服务器时, ...
- 在phpstorm中安装、配置和运行phpunit详细教程
前提:安装了composer 一.安装phpunit组件 右键项目文件,composer---init composer,会生成一个composer.json文件 右键项目文件,composer--- ...
- Win7 32位系统下Java开发环境的安装及配置
目录: Java JDK安装. Java JDK系统环境的配置. 配置常见问题的解决. Java JDK的安装 Java Jdk(Java Development Kit)Java开发不可缺少的环境, ...
- 开发--CentOS-7安装及配置
开发|CentOS-7安装及配置 本文主要进行详细讲解CentOS7.5系统的安装过程,以及CentOS系统初始化技术.我并不想将这篇文章变成一个教程,尽管我将详细的进行每一步的讲解,enjoy! 前 ...
随机推荐
- 深度学习基础课:“判断性别”Demo需求分析和初步设计(上)
大家好~我开设了"深度学习基础班"的线上课程,带领同学从0开始学习全连接和卷积神经网络,进行数学推导,并且实现可以运行的Demo程序 线上课程资料: 本节课录像回放 扫码加QQ群, ...
- 基于java+springboot的租房网站、房屋出租管理系统
该系统是基于java+springboot+vue开发的租房管理系统.是给师弟开发的课程作业.学习过程中,遇到问题可以留言咨询. 演示地址 前台地址: http://zf.gitapp.cn 后台地址 ...
- Laravel路由匹配
Route常规用法如下,特别是最后一个传参之后可以进行正则匹配,非常好用. //@后面内容为所要访问的方法 Route::get('foo', 'Photos\AdminController@meth ...
- 【canvas】 绘制七巧板
效果图: 代码 : <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- JMS微服务开发示例(八)双机热备
双机热备,指两个一模一样的微服务,两个同时在运行,但是只有一个在工作,当工作中的微服务垮掉后,另一个会自行补上. 要实现这个,只需要设置 SingletonService = true. var mi ...
- [转帖]shell 使用sed或awk将文本中的上下两行合并为一行
例如要装下面文本上下两行合并为一行 文件test内容: # cat test a1 ce ef 12 45 57 efef 5656 gfg 455 上下两行合并为一行: # sed -n '{N;s ...
- [转帖]oracle rac后台进程和LMS说明
本文摘抄录oracle官方文档,oracle rac使用的后台进程,用以备忘,记录之. About Oracle RAC Background Processes The GCS and GES pr ...
- [转帖]TiDB BR 备份至 MinIO S3 实战
https://tidb.net/blog/3a31d41d#3.%E9%83%A8%E7%BD%B2%20MinIO%20S3%20%E5%8F%8A%E5%A4%87%E4%BB%BD%E6%81 ...
- [转帖]理解 postgresql.conf 的work_mem 参数配置
https://developer.aliyun.com/article/401250 简介: 主要是通过具体的实验来理解 work_mem 今天我们着重来了解 postgresql.conf 中的 ...
- [转帖]linux性能优化-CPU利用率
参数说明 /proc/stat提供系统的CPU和任务统计信息. user(us): 用户态CPU时间,不包括下面的nice时间,但包括了guest时间. nice(ni): 代表低优先级用户态CPU时 ...