首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2021了,真的不要再说 Node.js 是一门编程语言了「建议收藏」

大家好,又见面了,我是你们的朋友全栈君。 Node.js 全栈基础 1....为什么浏览器中的 JavaScript 不能控制系统级别的 API ? 浏览器是运行在用户的操作系统中的,如果能控控制系统级别的 API 就会存在安全问题。...1.6 全局对象 console.log(window) // window is not defined 在 Node.js 环境中是没有 window 的,所以 window 对象自然是未定义的。...在 Node.js 环境中全局对象为 global,在 global 对象中会存在一些和 window 对象中名字相同且作用相同的方。...在模块文件执行之前,模块文件中的代码会被包裹在模块包装函数当中,这样每个模块文件中的代码就都拥有了自己的作用域,所以在模块外部就不能访问模块内部的成员了。

2.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    (1 3)Electron知识学习 · 基础篇

    ,当前使用最新稳定版本:20.1.4 特性 我们可以从中了解到他实现的方式以及他的应用场景 我认为他们最大特点就是: 主进程和渲染进程就行隔离(沙箱模式) 当时用户操作和渲染的事情都是交给渲染进程 当需要操作系统...你的操作系统是64位就下载64位版本 创建启动项目 首先我们创建自己的项目目录并初始化基本配置 执行下面的命令 mkdir my-electron-app && cd my-electron-app...-save-dev electron 接着就需要在package.json添加执行Electron的指令 添加start命令能让您在开发模式下打开您的应用 "start": "electron ."...npm start 获取当前版本信息 如果我们需要获取到当前的Electron,NodeJs,Chromium等版本号 这时我们就需要调用相关接口 下面我来演示一下 首先我们我们需要添加一个预加载脚本...我们在根目录添加一个preload.js文件 并添加如下内容 window和 document全局渲染器 process.versions是Node.js环境 preload.js //对window

    1.1K20

    可以浏览器页面运行 node 代码里了!webContainer 发布 1.0

    WebAssembly 和新的 capabilities API 的出现,使得编写一个基于 WebAssembly 的操作系统似乎成为可能,该操作系统功能强大到可以完全在浏览器中运行 Node.js。...应用程序和操作系统命令,它完全运行在您的浏览器页面中。...我的理解,webContainer 就是一个可以运行在浏览器页面中的微型操作系统,提供了文件系统、运行进程的能力,同时内置了 nodejs、npm/yarn/pnpm 等包管理器。...installwebcontainerInstance.spawn('npm', ['install']);spawn 方法接受三个参数:字符串,为命令名称,例如 npm数组:命令的选项非必须,spawn...({ write(data) { console.log(data); }}));运行 dev Server有些命令可以启动 dev Server,例如 npm run start

    88320

    每次启动项目的服务,电脑竟然乖乖的帮我打开了浏览器,100行源码揭秘!

    2.2 在 vue-cli 使用 npx @vue/cli create vue3-project # 我的 open-analysis 项目中 vue3-project 文件夹 # npm i -g...yarn start 为此我截了图 终端我用的是 window terminal,推荐我之前的文章:使用 ohmyzsh 打造 windows、ubuntu、mac 系统高效终端命令行工具,用过都说好...原理 在 npm 之王 @sindresorhus[8] 的 open README文档[9]中,英文描述中写了为什么使用它的几条原因。 为什么推荐使用 open 积极维护。 支持应用参数。...https://lxchuan12.gitee.io windows start 文档[10] open包描述信息:open[11] 在这里可以看到有哪些 npm 包依赖了 open[12] 我们熟悉的很多...isDocker())) { // 省略 window 或者 window 子系统代码 const encodedArguments = ['Start']; }

    57540

    可以浏览器页面运行 node 代码里了!webContainer 发布 1.0

    WebAssembly 和新的 capabilities API 的出现,使得编写一个基于 WebAssembly 的操作系统似乎成为可能,该操作系统功能强大到可以完全在浏览器中运行 Node.js。...在2021年,我们宣布了 WebContainer,这是一个完全新颖的基于 WebAssembly 的操作系统,它使Node.js能够完全在浏览器内部运行。...应用程序和操作系统命令,它完全运行在您的浏览器页面中。...我的理解,webContainer 就是一个可以运行在浏览器页面中的微型操作系统,提供了文件系统、运行进程的能力,同时内置了 nodejs、npm/yarn/pnpm 等包管理器。...字符串,为命令名称,例如 npm 2. 数组:命令的选项 3.

    1.2K30

    Ghostty让你再次爱上终端

    一些终端应用程序使用 GUI 功能进行配置,而这个应用程序使用启动时加载的纯文本文件(或者在您进行更改时手动重新加载)。仅凭这一点,Ghostty 就不是刚开始使用命令行的用户的理想终端。...使用 Zig 编写,并在Linux上使用 GTK4/libawaita,在 macOS 上使用 Swift 编写,这意味着 Ghostty 完全原生于您的操作系统。 支持多个窗口、标签页和分割窗格。...我在 macOS 和 Arch Linux 上都安装了 Ghostty,发现安装过程非常简单。在 macOS 上,只需下载 .dmg 包,双击它,然后将 Ghostty 图标拖到应用程序文件夹即可。...找到你想要的主题后,你可以在配置文件中这样配置它: `theme = Unikitty` 另一个很酷的技巧是,你可以将Ghostty窗口标题栏配置为与背景使用相同的主题颜色(图3): window-theme...关于主题,我要说的是:由于某种原因,主题在Arch Linux安装上不起作用,但在macOS上却可以。 你可以在这里查看Ghostty配置选项的完整列表:here。

    12400

    三面面试官:运行 npm run xxx 的时候发生了什么?

    我(尴尬,条件反射地以为是问的八股文):emmmm,我记得 npm run xxx的时候,首先会去项目的package.json文件里找scripts 里找对应的xxx,然后执行 xxx的命令,例如启动...vue项目 npm run serve的时候,实际上就是执行了vue-cli-service serve 这条命令。...面试官:那既然vue-cli-service这条指令不存在操作系统中,为什么执行npm run serve的时候,也就是相当于执行了vue-cli-service serve ,为什么这样它就能成功,而且不报指令不存在的错误呢...我:我们在安装依赖的时候,是通过npm i xxx 来执行的,例如 npm i @vue/cli-service,npm 在 安装这个依赖的时候,就会node_modules/.bin/ 目录中创建 好...我(疯狂点头):嗯嗯,是的,就是这样 面试官:我有点好奇。刚刚看到在node_modules/bin中 有三个vue-cli-service文件。为什么会有三个文件呢?

    1.5K30

    作为测试仔,为了颜值,也开始去写门面程序了!

    在技术调研选型时,本身后端逻辑就是用的Java,所以自然也想用Java的窗体程序实现。 经调研发现使用JavaFx、Swing可以实现桌面应用程序开发,感觉都不太理想,为什么呢?...于是,我又去找强哥(之前北京同事),强哥给我推荐了electron,我一查,才发现真的太秀了,太好看了吧,结果我就被种草了,真的是太想学了.........故事讲完了,开始干活了,具体需求如下: 点击按钮可以打开另一个界面 按钮及界面都需要颜值 如何实现 1、引入样式 安装bootstrap命令如下: npm install bootstrap --save...2、点击按钮可以打开另一个界面 在根目录下创建一个名为renderer的文件夹,并创建index.js,其作用就是向主进程发出通信,具体代码如下: const { ipcRenderer } = require...== 'darwin') app.quit() }) 效果 npm start 运行查看结果如下: http://mpvideo.qpic.cn/0bc3aiaauaaataaiysob55rfaawdbibaacqa.f10002

    46440

    写给前端同学的终端修炼手册

    我们应该输入美元符号后的所有内容。 为什么安装说明会包括一个实际上不是命令一部分的符号呢!?这是因为在Bash shell语言中,$ 是提示符字符,显示在提示符的末尾。...$ 你还需要知道的知识点 在 Bash Shell 中,$ 符号有多个作用,具体作用取决于上下文。 命令提示符: 当打开终端时,看到的 符号通常是命令提示符,表示 shell 已准备好接受命令。...如果 ctrl + c 因某种原因不起作用,ctrl + d 可能会起作用。 最后,如果所有方法都失败了,你可以关闭当前的标签页/窗口。快捷键取决于操作系统和终端应用程序。...链接命令 每当我们从 Github 克隆一个新项目时,我通常会连续做两件事: npm install,获取第三方依赖 npm run start,启动本地开发服务器 此时,就会有一个问题,当install...方法如下: npm install && npm run start && 操作符允许我们将多个命令链接在一起。第一个命令会执行 npm install。一旦完成,第二个命令会自动运行。

    14510

    panda-utils:构建发布一个自己的函数库

    构建完后怎么发布到npm让大家都可以用到?为什么要构建发布一个自己的函数库?本章就是想谈下这些问题。...2、开始 先去github上新建个仓库,在本地上下载打开它并输入命令初始化并安装下webpack。...$ npm init -y $ npm install webpack webpack-cli --save-dev 然后我们在该目录下建几个项目所需的文件: build文件夹里面放一些webpack...libraryTarget跟library是相辅相成的,它有几种值,默认是是var,可以设置为window、this之类的,如果你设置为window,那么你引入这个包以后,window.pandaUtils...如果你的库还依赖了loadsh之类的库,那么你还需要外部化这个库,就是说在我安装panda-utils之前我必须都先安装下loadsh。

    64720

    一杯茶的时间,上手 Node.js

    在浏览器中,我们有 document 和 window 等全局对象;而 Node 只包含 ECMAScript 和 V8,不包含 BOM 和 DOM,因此 Node 中不存在 document 和 window...读到这里,我想先恭喜你渡过了 Node.js 入门最难的一关!如果你已经真正地理解了 Node 模块机制,那么我相信接下来的学习会无比轻松哦。...命令行开发:接受输入参数 Node.js 作为可以在操作系统中直接运行 JavaScript 代码的平台,为前端开发者开启了无限可能,其中就包括一系列用于实现前端自动化工作流的命令行工具,例如 Grunt...安装 npm 包 接下来我们将讲解 npm 最最最常用的命令—— install。没错,毫不夸张地说,一个 JavaScript 程序员用的最多的 npm 命令就是 npm install。...在初步体验了 npm scripts 之后,我们有必要了解一下 npm scripts 分为两大类: •预定义脚本:例如 test、start、install、publish 等等,直接通过 npm <

    1K10

    自己动手用electron+vue开发博客园文章编辑器客户端【一】

    场,没钱的捧个✨场) 用npm工具初始化环境的命令为: npm install -g vue-cli vue init simulatedgreg/electron-vue cnblogs51 cd cnblogs51...npm install npm run dev 几行命令执行完,一个默认的模板画面就启动起来了; 我们简单介绍一下electron-vue 我们知道vue有hot-reload的能力, 就是你改了什么代码...,一个index.dev.js 如果你的程序处于调试状态,那么这两个文件都会起作用(通过npm run dev命令启动的程序); 如果你的程序处于发布状态,那么只有index.js文件起作用(通过npm...我为什么不通过一个隐藏的iframe,来控制博客园的界面 通过它获取我想呈现在自己界面上的数据; 也通过它,提交我自己界面上的用户数据; 这样就只要用博客园前端页面内置的jquery获取文章数据; 然后再用...,所以window.top也访问不到它的宿主页面; 我的目的是让我的用户使用我开发的画面 我的客户在不需要的时候,不需要看到博客园的任何界面 所以这个webview默认是隐藏的; 在用户第一次打开应用的时候

    3.6K30

    基于nodeJS从0到1实现一个CMS全栈项目的服务端启动细节

    一. redis的安装及redis服务器的启动 我们可以去redis官网下载redis安装程序,我主要介绍window和 linux系统下的安装,如果你是其他系统,可以去官网查看相关资料。...我们用如下指令来启动: npm start // or yarn start 其次我们看看build命令,主要是打包输出的命令,dist为输出的目录名,你也可以根据自己代码风格来命名。...我们执行如下来打包: npm run build // or yarn build run-build命令是我额外加的,主要是方便测试生产环境的代码,即我们打包的后代码。执行方式同上。...以上代码主要作用就是下其他业务代码传递环境变量,并对静态路径根据不同环境使用不同的ip地址,方便前后端调试。 三....总结 综上我们服务器启动的流程如下: 启动redis服务器 运行node启动脚本 npm start or yarn start 根据router定义的路由api,使用postman或者本地请求测试端口

    52330

    全栈CMS系统服务端启动细节复盘

    1.redis的安装及redis服务器的启动 我们可以去redis官网下载redis安装程序,我主要介绍window和 linux系统下的安装,如果你是其他系统,可以去官网查看相关资料。...我们用如下指令来启动: npm start // or yarn start 其次我们看看build命令,主要是打包输出的命令,dist为输出的目录名,你也可以根据自己代码风格来命名。...我们执行如下来打包: npm run build // or yarn build run-build命令是我额外加的,主要是方便测试生产环境的代码,即我们打包的后代码。执行方式同上。...以上代码主要作用就是下其他业务代码传递环境变量,并对静态路径根据不同环境使用不同的ip地址,方便前后端调试。...总结 综上我们服务器启动的流程如下: 启动redis服务器 运行node启动脚本 npm start or yarn start 根据router定义的路由api,使用postman或者本地请求测试端口

    30850

    npm init @vitejsapp的背后,仅是npm CLI的冰山一角

    我有时候会得出这样的结论:原来那些我不常用的命令或工具,都是为了解决大佬们遇到的问题而存在的! 我们每天都和npm打交道,但是不少人对npm的掌握程度还停留在一个比较浅的层面(当然这也包括我)。...我筛选出了一些基础的,同时也是我见得比较多的一些命令来简单介绍下。 npm CLI常见命令 npm help 不懂就问,npm help是个好命令。...就像我用git --help一样,对于有些比较模糊的命令,我都会用help来查一下。...npm start npm start是一个语义化的命令。...通常我们会在 scripts 中自定义 start 脚本,比如: "start": "npm run dev" 如果没有指定自定义的 start 脚本,npm start默认会执行: node server.js

    1.8K40

    Electron 介绍

    要检查 Node.js 是否正确安装,请在您的终端输入以下命令: node -v npm -v 这两个命令应输出了 Node.js 和 npm 的版本信息。...最后,您希望能够执行 Electron 如下所示,在您的 package.json (opens new window)配置文件中的scripts字段下增加一条start命令: { "scripts...": { "start": "electron ." } } start命令能让您在开发模式下打开您的应用 npm Yarn yarn start # couldn't auto-convert...要初始化这个main文件,需要在您项目的根目录下创建一个名为main.js的空文件。 注意:如果您此时再次运行start命令,您的应用将不再抛出任何错误!...一般而言,你可以使用 进程 全局的 platform (opens new window) 属性来专门为某些操作系统运行代码。

    2.4K10

    写给前端程序员的命令行入门

    为什么安装说明会包含一个随机的符号,而这个符号实际上并不是命令的一部分?好吧,在Bash shell语言中,$ 是提示符,显示在提示的末尾。 它本质上是一个符号,并说道:嘿,这里的东西要在终端运行!...等一下,为什么之前是一个波浪字符,而不是父目录的名称?在MacOS和Linux上,波浪字符是用户home目录的缩写。在我的机器上,"~"相当于"/Users/joshu"。...如果ctrl + c在某些情况下不起作用,ctrl + d可能会起作用。 最后,如果上面的方法都失败了,可以直接关闭当前的tab页或者窗口。该方式的快捷键取决于你使用的操作系统以及终端程序。...链式命令 每当我从Github上克隆一个新项目时,我一般要做两件事: npm install ,来拉取第三方依赖。 npm run start ,来启动本地开发服务器。...这是一个特别巧妙的技巧,因为npm run start通常会打开一个浏览器窗口,吸引我的注意力,让我知道一切都准备好了。相比之下,npm install是静默完成的。

    1.2K30
    领券