我有一个问题,了解Webpack splitChunks插件的行为.我正在研究的是将现有站点上的旧脚本重写为组件并使用Webpack进行捆绑.捆绑只是JS,大多数是在身体的末端加载.但是一个小脚本需要位于页面的标题中,因为它还会在标题和正文中创建很少的全局方法,主要用作内联脚本.由于它用于GA跟踪,它不会改变,事件必须尽快发送.
下面的配置工作适合我,但问题是,为什么它的工作原理只是这样?
确切的问题是在下面的代码中的注释,但我也把它放在这里:我不明白为什么有必要也包括!isUsedInAppHeader在common块的条件.如果没有!isUsedInAppHeader条件,则不会common.header创建块.然后,当我尝试通过为common.header块添加更高优先级来修复它时,它会导致脚本中的脚本异步初始化app.header.js.
异步行为是我根本不理解的,因为它从未发生过app.js.
实际上,我有另一个问题.是否可以导出一个同时立即初始化的公共块?或者你会提出另一个解决方案吗?标题中的脚本无法移动,也必须同步初始化,因为它的主要作用是为GA跟踪创建全局方法,这些方法必须立即用于以下代码中.
谢谢!
Webpack配置:
...
gulp.task('webpack', function(callback) {
var settings = {
...
entry: {
'app.header': './js/app.header.js',
'app': './js/app.js',
... // page specific files etc.
},
...
optimization: {
splitChunks: {
cacheGroups: {
// Node modules used in app.js
vendorsApp: {
test(module, chunks) {
let isInAppEntryPoint = chunks.map(chunk => chunk.name).includes('app');
let isNodeModule = /\/node_modules\//.test(upath.normalize(module.resource));
return isInAppEntryPoint && …Run Code Online (Sandbox Code Playgroud) 我缺少一个其他文本编辑经常提供的有用功能.在底部状态栏中,它们显示当前字符的ASCII和UTF代码 - 当前位置之前或之后的字符(现在不确定).我无法找到执行此操作的程序包或执行此操作的本机功能.
谢谢您的帮助.
我最近听说(实际上我不太相信)当你用font-weighteg定义@font-face700并且你在CSS中的某个地方使用font-weight: bold时,浏览器可能会font-weight使用人造粗体类型来渲染它本身。700在这种情况下,和之间真的有这样的区别吗bold?
所以我要问的是:给出这样的定义
@font-face {
font-family: SampleFont;
src: ...;
font-weight: 700;
}
Run Code Online (Sandbox Code Playgroud)
SampleFont在以下情况下,所有浏览器(根据规范)都会使用指定的文件吗?
.case1 { font-weight: 700; }
.case2 { font-weight: bold; }
Run Code Online (Sandbox Code Playgroud)
我问的是,当您@font-face使用数字值来定义时,例如700(或反之亦然),然后在 CSS 中的某个地方使用其等效值(在本例中bold),某些浏览器是否可以使用人造粗体文本,而不是通过 @font-face 定义的文本。
谢谢各位专家!