Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >像一个大JS一样使用文件夹中的所有文件

像一个大JS一样使用文件夹中的所有文件
EN

Stack Overflow用户
提问于 2019-06-16 01:22:03
回答 2查看 561关注 0票数 8

是否可以在ESLint中配置WebStorm,以便从同一个文件夹中的文件中解析函数、变量等?在构建过程中,我将同一文件夹中的所有文件连接到大闭包中,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   src/
      main/          ===> "main.js"
          api.js
          init.js
          ui.js
          constants.js
          .
          .
      renderer/      ===> "renderer.js"
          core.js
          events.js

我希望ESLint将所有这些文件处理得像一个文件一样,这样我就不会对定义的东西产生"undef“错误。

如果不能自动完成,我不介意创建一个手动配置,如果可能的话,可以指定所有这些文件。

编辑:为什么我不能(不能)使用模块?TLDR-遗留代码和项目需求。

  • 我需要缩小所有代码。当前的闭包编译器可以将ES6转换为ES5,但是我发现一些ES6特性很容易产生错误的代码。所以我不得不使用ES5。
  • 因为我需要ES5。我只能使用require()来使用模块。这是一个问题,因为require()是一个动态的包含,它影响到我的上下文的性能(普通功率设备的大电子应用程序)

因此,要回答@Avin_Kavish,我同意我所做的“技术上不符合”,但是在构建过程的最后,它是这样的,因为每个文件夹都被分组到一个文件中。该文件是模块或脚本。为了将使用Gradle插件https://github.com/eriwen/gradle-js-plugin的文件分组,我按我想要的顺序插入了一个“闭包头”和一个“闭包页脚”,以及所有的文件。

尽管带来不便,最后我还是得到了超紧凑的nodeJS代码,所有的方法都被混淆了,等等。

最后我使用了@Patrick的建议,谢谢你!

编辑2

WebPack +电子-WebPack原来就是我要找的。

顺便说一句,我认为正确的方法是如果EsLint允许一个“文件夹”sourceType。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-16 02:27:34

您没有在问题中提供代码示例,但我假设您会这样做:

api.js

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const api = {
  fetchData() {
    // some code that fetches data
  }
};

core.js

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const core = {
  init() {
    api.fetchData();
  }
};

当您链接这些ESLint模块时导致错误的JavaScript规则是非德夫规则。

它检查未定义的使用的变量。在上面的代码示例core.js中,这将是api,因为这是在另一个模块中定义的,ESLint不知道这个模块。

您并不关心这些错误,因为在生产中使用的实际JS包中,来自api.js和core.js的代码被连接在一个包中,因此将定义api

因此,实际上,本例中的api是一个全局变量。

no-undef规则允许您定义全局变量,以便它们不会导致错误。

有两种方法可以做到这一点:

使用注释的

在core.js模块的开头,添加以下一行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/* global api */

使用ESLint Config

如前所述,这里 --将其添加到.eslintrc文件中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "globals": {
    "api": "writable"
  }
}

边注

正如对您的问题的一些评论者所指出的,最好在模块中使用导入导出语句,以及像webpack这样的模块捆绑工具,从JavaScript模块创建一个包。

票数 4
EN

Stack Overflow用户

发布于 2019-06-16 02:49:06

带有导入/导出语句的物理JavaScript文件按照标准是一个模块。一个没有导入/导出的.js文件按照标准是一个脚本。您所要做的是不符合这一点,在ECMAScript中没有允许在多个文件中拆分单个脚本或模块的规范。例如,我了解您来自何处: C#有部分类,允许您在多个文件中拆分一个类。但是,尝试在没有标准语法的情况下复制这一点是不明智的。特别是当导入/导出能够并且将为您完成此工作时。

例如,根据以下假设,您的main.js可以重构为,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
constants.js // <--- constants
ui.js  // <--- logic to build UI
api.js  // <--- exposing public api
init.js  // <--- setup code before use

// main.js 
// If you name this index.js you can import it as 'src/main' instead of 'src/main/main.js'
import { A,B } from './constants'
import { api } from './api'
import { displayUi } from './ui'
import { init } from './init'

init(A);
displayUi(B);

export { api } // <-- re-expose public api
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56617576

复制
相关文章
将文件夹下所有文件输出到日志文件中(包括所有子文件夹下的)
转载:http://www.cnblogs.com/lori/p/3529936.html
跟着阿笨一起玩NET
2018/09/19
2.1K0
将文件夹下所有文件输出到日志文件中(包括所有子文件夹下的)
算法~将文件夹下所有文件输出到日志文件中(包括所有子文件夹下的)
算法文章,总是带给我们无穷的思考和兴趣,一个问题,多种解决方法,看你如何去思考它,对于标题所引出的问题,我觉得,使用递归是比较有效的方法,当然递归还有很多使用场合,如树型分类列表的操作等等。
跟着阿笨一起玩NET
2018/09/19
2.1K0
算法~将文件夹下所有文件输出到日志文件中(包括所有子文件夹下的)
ExcelVBA文件操作-获得文件夹中的所有子文件夹
ExcelVBA文件操作-获得文件夹中的所有子文件夹 图片 上一期,学习了 今天我们来学习如果取得文件夹中的子文件夹路径 如图 图片 在我们可以先用上一节选择取得【test目录】 再读取【1目录、2目录、3目录】再读取…… 上一期的程序 Sub FileDialog_sample1() With Application.FileDialog(msoFileDialogFolderPicker) .InitialFileName = ThisWorkbook.Path .Title = "选择文件夹" I
哆哆Excel
2023/03/07
3.1K0
ExcelVBA文件操作-获得文件夹中的所有子文件夹
ExcelVBA文件操作-获得文件夹中的所有子文件夹
-----------------近期学习笔记----------------------
哆哆Excel
2023/09/09
6160
ExcelVBA文件操作-获得文件夹中的所有子文件夹
像TransactionScope一样使用DbTransaction
System.Transactions.TransactionScope为了提供一种非常方便的实现分布式事务的方式,但是在某些情况下为了阻止本地事务向分布式事务提升,我们只能通过DbTransaction进行事务控制。在进行数据库操作的时候,我们经常会遇到这样的事务场景:当某个方法单独执行的时候,它应该在一个单一的DbTransaction中执行;当多个方法一起执行的时候,它们应用共同在DbTransaction中执行。在本篇文章中我们通过对DbTransaction进行封装,提供一种类似于Transact
蒋金楠
2018/01/15
1.6K0
在 Linux 中重命名文件夹中的所有文件
在Linux系统中,有时候我们需要批量重命名文件夹中的所有文件,以便更好地组织和管理文件。本文将详细介绍几种在Linux中重命名文件夹中所有文件的方法,包括使用命令行工具和脚本等方式。
网络技术联盟站
2023/06/08
5K0
在 Linux 中重命名文件夹中的所有文件
像java一样使用js contains 数组包含方法 实践笔记
在JS中,判断一个数组中是否包含某个值,一般用indexOf(),今天我们用contains,跟写java一样判断数组包含某个值,但是js原生是没有数组的contains,所以我们要先自己封装一下,给Array增加contains()方法了
cookily
2020/09/10
1.4K0
如何像导入 JS 模块一样导入 CSS?
刚刚发布的 Chrome 93 版本中更新了一项令人兴奋的新特性:CSS Module Script,使用它你可以像导入一个 JavaScript 模块一样加载 CSS 样式。
ConardLi
2021/09/29
3.7K0
如何像导入 JS 模块一样导入 CSS?
PHP遍历文件夹下的所有文件和文件夹
<?php function tree($dir) { $mydir = dir($dir); echo "<ul>\n"; while ($file = $mydir->re
用户7657330
2020/08/14
2.2K0
【工具】像大佬一样使用 Google
原文地址:Use Google like a pro 原文作者:Marko Denic 译者:Gopal 译者注:本文篇幅非常短,但个人觉得对自己有所帮助,所以打算分享一下。关于墙内墙外的问题,笔者因为目前在一家小外企,所以没有问题。不过也是可以解决的,有条件的开发者还是建议使用 Google 对于开发者而言,使用 Google 是最重要的一项技能之一 让我给大家展示如何更好的使用 Google 吧! 开始吧~ 1. 使用引号强制进行精确匹配搜索 "what is javascript" 2. And
GopalFeng
2022/08/01
2820
【工具】像大佬一样使用 Google
Keychain-像NSUserDefaults一样使用
就想简单的使用Keychain,不需要Keychain Access Group ,也不需要其他复杂的应用, 就想简单的保存个用户名和密码之类的, 就想像用NSUserDefaults 那样来存储数据。
Light413
2020/04/08
4050
如何像导入 JS 模块一样导入 CSS?
刚刚发布的 Chrome 93 版本中更新了一项令人兴奋的新特性:CSS Module Script,使用它你可以像导入一个 JavaScript 模块一样加载 CSS 样式。
公众号@魔术师卡颂
2021/09/18
4.1K0
如何像导入 JS 模块一样导入 CSS?
使用python扫描文件夹获取所有文件路径
os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
JQ实验室
2022/01/11
4.4K0
hostctl · 像PRO一样管理你的hosts文件
在日常的工作中,我们经常会通过编辑hosts文件来处理一些自定义域名的解析任务,每次手动的编辑linux或者mac上/etc/hosts和window上的hosts是一项繁琐的任务。但是现在,我们可以通过hostctl[1]来自动化管理本地域名解析文件,这样一来就可以使某些方面自动化,以使其变得更加干净快捷。
公众号: 云原生生态圈
2020/12/29
1K0
hostctl · 像PRO一样管理你的hosts文件
ExcelVBA学习之一键打印文件夹中的所有Excel文件
【问题】要打印的Excel文件有几百个,格式有2003版本的也有2016版本的,全部都打印第一个sheet1工作表就可以啦,(如果所在的sheet工作都要打印呢?)。
哆哆Excel
2022/10/25
2.9K0
ExcelVBA学习之一键打印文件夹中的所有Excel文件
java之读取文件夹下的所有文件夹和文件
package com.borland.samples.welcome; import java.io.FileNotFoundException; import java.io.IOException; import java.io.File; public class ReadFile { public ReadFile() {} /** * 删除某个文件夹下的所有文件夹和文件 * @param delpath String * @throws FileNotFoundEx
IT工作者
2022/03/29
2K0
Python 遍历文件夹下的所有文件
直接上代码 import os path = "../data" for dir_path, dir_names, file_names in os.walk(path): for file_name in file_names: print(file_name) path = os.path.join(dir_path, file_name) qq_file = open(path) lines = qq_file.readlines
week
2018/08/24
4.1K0
Python读取文件夹中的所有Excel文件名
os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
哆哆Excel
2022/10/25
6.8K0
Python读取文件夹中的所有Excel文件名
像Uniswap一样使用Merkle执行Airdrop
如果你想直接跳过如何实现 Uniswap Airdrop,请继续阅读以下部分:创建 Merkle Airdrop 的步骤
Tiny熊
2022/11/07
7460
像Uniswap一样使用Merkle执行Airdrop
点击加载更多

相似问题

像文件夹一样创建类,像文件一样创建方法

10

像使用文件夹一样使用tar.gz文件?

10

如何像java包一样链接文件夹?

10

如何像Whatsapp一样在“文档”文件夹中添加文件?

11

如何像签出根文件夹一样签出嵌套文件夹

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文