我正在尝试提取库中的 css 文件。我已经读过执行此操作的方法是使用 mini-css-extract-plugin。
难道我做错了什么?还有其他方法可以提取我的库的 css 文件吗?
下面我使用https://webpack.js.org/plugins/mini-css-extract-plugin上提供的相同文件创建了一个简单的测试项目
下面的示例在 webpack 5 中失败,但在 webpack 4 中运行良好。
样式.css
body {
background: green;
}
Run Code Online (Sandbox Code Playgroud)
索引.js
import './style.css';
Run Code Online (Sandbox Code Playgroud)
包.json
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "src/component.js",
"dependencies": {},
"devDependencies": {
"css-loader": "^5.0.1",
"mini-css-extract-plugin": "^1.3.5",
"webpack": "^5.19.0",
"webpack-cli": "^4.4.0"
},
"scripts": {
"build": "webpack --config webpack.config.js"
},
"author": "",
"license": "ISC"
}
Run Code Online (Sandbox Code Playgroud)
webpack.config.js
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = {
entry: {
index: './index.js'
},
plugins: [new MiniCssExtractPlugin()],
module: {
rules: [ …Run Code Online (Sandbox Code Playgroud) 背景:我正在尝试创建一个可由多个进程访问的内存映射文件。在下面的代码中,我只输入了与我目前必须使事情更简单的问题有关的代码。根据msdn,我应该能够创建一个文件映射,映射文件的视图并关闭我从 CreateFileMapping 接收到的句柄,而 MapViewOfFile 将使我的 FileMap 保持活动状态。FileMap 应该仍然可以访问,直到我 UnmapViewOfFile。
MSDN: CreateFileMapping 函数
文件映射对象的映射视图维护对对象的内部引用,并且文件映射对象在对它的所有引用都被释放之前不会关闭。因此,要完全关闭文件映射对象,应用程序必须通过调用 UnmapViewOfFile 取消映射文件映射对象的所有映射视图,并通过调用 CloseHandle 关闭文件映射对象句柄。这些函数可以按任何顺序调用。
问题:成功映射文件视图并关闭 CreateFileMapping 接收到的句柄后,FileMap 不再存在(它应该仍然存在)并且我的 MemMapFileReader 能够创建一个错误为 0 的新映射。(当它应该接收错误 183 '已经存在')
错误的解决方案:不关闭句柄允许它被 MemMapFileReader 程序访问,但会导致 MemMapFileCreator 中的句柄泄漏,因为在进程关闭之前句柄永远不会关闭。
问题:我错过了什么或做错了什么?
内存映射文件创建器
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <tchar.h>
#include <iostream>
#define BUF_SIZE 256
TCHAR szName[] = TEXT("MyFileMappingObject");
TCHAR szMsg[] = TEXT("Message from first process.");
int _tmain()
{
HANDLE hMapFile;
LPCTSTR pBuf;
hMapFile = CreateFileMapping(
INVALID_HANDLE_VALUE, // use paging file
NULL, …Run Code Online (Sandbox Code Playgroud)