问题:

之前在一些开源项目的源码里,以及一些文章里,见到如下这样的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. C# 读取DBF文件到Datatable

    此种方式不依赖与任何驱动,第三方插件. 核心代码TDbfTable如下: using System; using System.Collections.Generic; using System.Te ...

  2. Adobe Photoshop cc2018 Mac中文破解版下载

    下载地址在文章最末,下载之前,先看下安装教程. 前面有说过,2015年以前的老Mac电脑可以安装PS2018的版本,Adobe Photoshop cc2018最低系统需求:10.13以上就可以了,但 ...

  3. Python存储与读写二进制文件

    技术背景 一般情况下我们会选择使用明文形式来存储数据,如json.txt.csv等等.如果是需要压缩率较高的存储格式,还可以选择使用hdf5或者npz等格式.还有一种比较紧凑的数据存储格式,就是直接按 ...

  4. vue中如何使用JSX?

    JSX是什么? JSX 是一种 Javascript 的语法扩展,JSX = Javascript + XML,即在 Javascript 里面写 XML,因为 JSX 的这个特性,所以他即具备了 J ...

  5. 小tips:nodejs请求接口超时使用中间件connect-timeout实现自动超时机制

    如果在请求中不设置超时时间,那么一直处理loading卡屏状态,使用connect-timeout来设置自动超时时间. 安装: npm install connect-timeout -S 如下例子: ...

  6. SoftCLT: 时间序列的软对比学习《Soft Contrastive Learning for Time Series》(时间序列、时序分类任务、软对比学习、实例上软赋值距离差异、数据空间非嵌入空间度量相似性)

    2024年6月25日,10:11,好几天没看论文了,一直在摸鱼写代码(虽然也没学会多少),今天看一篇师兄推荐的. 论文:Soft Contrastive Learning for Time Serie ...

  7. IT男如何走上的自由职业之路。

    前言 在博客园的一篇文章<40岁大龄失业程序猿,未来该何去何从>,在下面留言,目前自己在做自由职业,很多人加好友咨询自由职业的事情,对IT行业自由职业比较感兴趣,问怎么能走上这条路,所以才 ...

  8. mysql后台导入sql文件-设定字符集

    需求描述:有一个user_info.sql 的文件里面都是插入user_info表的insert语句数据,数据量500M,要求快速插入mysql的数据库中. 解决方法: 1.利用客户端工具加载文件插入 ...

  9. USB设备类型代码、详细说明、查询方式

    以下是相关类型的详细说明: 地址:https://www.usb.org/documents 搜索device class 以下是USB所有支持的设备类型代码 地址:http://www.usb.or ...

  10. Android dtbo(2) dto语法

    设备树源 (DTS,device tree source) 格式是设备树的文本表示形式.设备树编译器 (DTC) 可将这种格式处理为二进制设备树,这是 Linux 内核要求的形式. 1. 使用引用 D ...