问题:

之前在一些开源项目的源码里,以及一些文章里,见到如下这样的require/import路径,其中包含形如!.的片段,不知道是什么意思:

// https://juejin.im/post/6844903504352378894#heading-10
require("any-template-language-loader!./xyz.atl");
var html = anyTemplateLanguage.render("xyz");
// vscode源码 -- src/vs/base/browser/ui/actionbar/actionbar.ts
import 'vs/css!./actionbar';

答案:

这是webpack的语法,用于激活loader的。

webpack - loaders下有一句话:

Loaders are activated by using loadername! prefixes in require() statements, or are automatically applied via regex from your webpack configuration

意思就是,可以通过loadername!的方式调用loader,也可以通过配置文件内的正则规则自动启用。

因此,对于问题中的两个例子,

require("any-template-language-loader!./xyz.atl");

表示使用any-template-language-loader来加载./xyz.atl这个文件。

vscode同理,

import 'vs/css!./actionbar';

表示使用vs/css来加载./actionbar.css这个文件。

vs/css这个loader是在src/vs/css.build.js这个文件中注册的:

// vscode - src/vs/css.build.js:360
define('vs/css', new CSSPlugin(cssLoader));
 
原文:https://segmentfault.com/q/1010000023671863

require/import路径中的叹号是什么?的更多相关文章

  1. JavaScript中双叹号(!!)和单叹号(!)

    转自:JavaScript中双叹号(!!)作用 经常看到这样的例子: var a: var b=!!a; a默认是undefined.!a是true,!!a则是false,所以b的值是false,而不 ...

  2. Linux中的叹号命令

    在shell环境下操作,需要积累点快捷输入的小技巧: 最常用的技巧恐怕就是Tab自动补全以及上方向键来回退上几条历史命令了,这些对于csh,bash,ksh,zsh都适用. 最近还找到一种快速回退上一 ...

  3. JavaScript中双叹号(!!)作用

    经常看到这样的例子: var a: var b=!!a a默认是undefined.!a是true,!!a则是false,所以b的值是false,而不再是undefined,也非其它值,主要是为后续判 ...

  4. JavaScript中双叹号(!!)作用示例介绍

    http://www.jb51.net/article/48881.htm 经常看到这样的例子: var a: var b=!!a; a默认是undefined.!a是true,!!a则是false, ...

  5. JavaScript中双叹号“!!”作用

    1.JavaScript的逻辑非(!)操作符的作用 (逻辑非) 如果操作数能够转换为true则返回false:否则返回true. 2.!!的作用 !!一般用来将后面的表达式强制转换为布尔类型的数据(b ...

  6. 关于有时候导入maven项目时候报错(有红色叹号,类中导入的包提示"the import java.util cannot be resolve,")

    ------解决方案--------------------解决方案:右键项目-------buildpath--------最下面那个configura...的选择libraries找到JRE(这个 ...

  7. Myeclipse中导入新项目报叹号

    Myeclipse中导入新项目报红色叹号 原因是导入项目中,有的jar路径不对, 在上图中,先把报错的jar移除,之后将JRE开头的那个library移除,最后点击add Library,选择jre. ...

  8. 未找到导入的项目,请确认 <Import> 声明中的路径正确

    当使用vs出现下列情况: D:\xxxx\Web\Web.csproj : error  : 无法读取项目文件“Web.csproj”. D:\xxxx\WebServiceManager\Web\W ...

  9. 请确认 <Import> 声明中的路径正确,且磁盘上存在该文件。

    在网上下了个源码打开报错. 请确认 <Import> 声明中的路径正确,且磁盘上存在该文件. 一查,原来是路径错误. 解决办法:将项目文件(.csproj)用记事本打开,然后找到<I ...

  10. 升级CUDA版本导致VS2010错误:未找到导入的项目XXX,请确认<Import>声明中的路径正确,且磁盘上存在该文件

    转自:http://www.cnblogs.com/yeahgis/p/3853420.html VS2010错误:未找到导入的项目XXX,请确认<Import>声明中的路径正确,且磁盘上 ...

随机推荐

  1. 使用Power Shell 拉取项目源代码

    使用 Power Shell 下载代码 工具:Power Shell(win10 自带) 新建源码的存放地址 1.使用 CD 命令进入文件夹 2.使用 git clone 命令拉取代码 git 命令: ...

  2. 为什么要使用Java SPI机制

    Java SPI(Service Provider Interface)最早是在Java SE 6中被引入的,作为一种标准的.用于在运行时发现和加载服务提供者插件的标准机制.以前的程序猿实现JDBC连 ...

  3. (Ljava/lang/String;)Ljava/util/List;

    背景:原正常代码,更改类名后,重新运行 报错:(Ljava/lang/String;)Ljava/util/List; 解决:mvn clean 后 compile,再运行,正常

  4. Openharmony 跑 CV 应用

    最近有个项目,老同学让帮忙验证一个在ARM 板上跑 OpenHarmony,然后再集成一个CV算法上去,写这个文章主要是整理一下思路.如果有思路不对的地方,也烦请指出. 1. 个人做纯软件比较多,所以 ...

  5. [Udemy] AWS Certified Data Analytics Specialty - 1.Collect

    1. Connect Kinesis: 类似于Kafka, 分为 Data Streams(real time), Analytics, Firehose(near real time),区别是: o ...

  6. 总结篇4:redis 核心数据存储结构及核心业务模型实现应用场景

    总结篇4:redis 核心数据存储结构及核心业务模型实现应用场景 redis 和memcached 有什么区别?为什么在高并发下,单线程的redis 比多线程的效率高? mc 可以缓存图片和视频,re ...

  7. 基于GitLab+Jenkin-CICD方案实践

    前言 笔录于2022- 官网:https://about.gitlab.com/ 参考文档:https://docs.gitlab.com/ee/ci/ 清华源:清华大学开源软件镜像站 | Tsing ...

  8. ToCom:一次训练随意使用,华为提出通用的ViT标记压缩器 | ECCV 2024

    标记压缩通过减少冗余标记的数量(例如,修剪不重要的标记或合并相似的标记)来加快视觉变换器(ViTs)的训练和推理.然而,当这些方法应用于下游任务时,如果训练和推理阶段的压缩程度不匹配,会导致显著的性能 ...

  9. httpclient调用接口

    有时候会将参数(返回结果)压缩(解压),加密(解密) 将json参数通过GZip压缩 Base64加密 1 public static String gzipAndEncryption(String ...

  10. scala安装及配置

    window 上安装 Scala 1.Scala下载网址:https://www.scala-lang.org/download/ 2.下载后,双击 msi 文件,一步步安装即可,安装过程你可以使用默 ...