小编Eni*_*tic的帖子

模板函数用于包装 C++ 中传递给它的任何函数

我正在尝试使用 libgit2,并且认为用一些能为我抛出异常的东西来包装调用会很好。我的理念是,我将能够调用具有公共返回类型的函数。我想我可以使用模板化函数来做到这一点,但我遇到了一些问题:

template<typename F, typename... Args>
inline void invoke(Args&&... args) {
    git_error_code errCode = F(std::forward<Args>(args)...);
    if (errCode != GIT_OK) {
        throw GitErrorException(errCode);
    }
}
Run Code Online (Sandbox Code Playgroud)

这生成了一些编译器警告,指出我没有使用有效的类型,因此我认为我也可以使用别名:

template<typename ... Args>
using F = int (*)(Args&&... args);

template<F f, typename... Args>
inline void invoke(Args&&... args) {
    git_error_code errCode = f(std::forward<Args>(args)...);
    if (errCode != GIT_OK) {
        throw GitErrorException(errCode);
    }
}
Run Code Online (Sandbox Code Playgroud)

但当使用如下代码时,这也不起作用:

template<typename ... Args>
using F = int (*)(Args&&... args);

template<F f, typename... Args>
inline void invoke(Args&&... args) {
    git_error_code errCode = f(std::forward<Args>(args)...);
    if …
Run Code Online (Sandbox Code Playgroud)

c++

2
推荐指数
1
解决办法
62
查看次数

入口点构建时出现 MiniCssExtractPlugin 错误

我们在部署之前使用 webpack 来捆绑我们的资源。然而,现在我们还想通过 webpack 捆绑我们的 sass 文件,这样可以简化我们的构建过程。现在,我们确实遇到了一个问题,即 MiniCssExtractPlugin 声称未定义webpack_require 。

我们不知道为什么会发生这种情况,但它们的根本问题似乎与 css-loader 的代码有关。

我们尝试了很多方法来解决这个问题(例如尝试不同的版本、重新安装软件包、检查剩余的全局软件包等。但这些似乎都对结果没有任何影响。

感谢您提前提供的任何帮助。

错误:

ERROR in ./css/theme.scss
Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
TypeError: __webpack_require__(...) is not a function
    at Module.<anonymous> (****project/_dev/node_modules/css-loader/dist/cjs.js!****project/_dev/node_modules/sass-loader/dist/cjs.js??ref--5-2!****project/_dev/css/theme.scss:123:63)
    at __webpack_require__ (****project/_dev/node_modules/css-loader/dist/cjs.js!****project/_dev/node_modules/sass-loader/dist/cjs.js??ref--5-2!****project/_dev/css/theme.scss:21:30)
    at Module.<anonymous> (****project/_dev/node_modules/css-loader/dist/cjs.js!****project/_dev/node_modules/sass-loader/dist/cjs.js??ref--5-2!****project/_dev/css/theme.scss:4919:41)
    at __webpack_require__ (****project/_dev/node_modules/css-loader/dist/cjs.js!****project/_dev/node_modules/sass-loader/dist/cjs.js??ref--5-2!****project/_dev/css/theme.scss:21:30)
    at Object.<anonymous> (****project/_dev/node_modules/css-loader/dist/cjs.js!****project/_dev/node_modules/sass-loader/dist/cjs.js??ref--5-2!****project/_dev/css/theme.scss:4809:28)
    at __webpack_require__ (****project/_dev/node_modules/css-loader/dist/cjs.js!****project/_dev/node_modules/sass-loader/dist/cjs.js??ref--5-2!****project/_dev/css/theme.scss:21:30)
    at ****project/_dev/node_modules/css-loader/dist/cjs.js!****project/_dev/node_modules/sass-loader/dist/cjs.js??ref--5-2!****project/_dev/css/theme.scss:85:18
    at Object.<anonymous> (****project/_dev/node_modules/css-loader/dist/cjs.js!****project/_dev/node_modules/sass-loader/dist/cjs.js??ref--5-2!****project/_dev/css/theme.scss:88:10)
    at Module._compile (****project/_dev/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
    at exec (****project/_dev/node_modules/mini-css-extract-plugin/dist/loader.js:60:10)
    at childCompiler.runAsChild (****project/_dev/node_modules/mini-css-extract-plugin/dist/loader.js:153:14)
    at compile (****project/_dev/node_modules/webpack/lib/Compiler.js:343:11)
    at hooks.afterCompile.callAsync.err (****project/_dev/node_modules/webpack/lib/Compiler.js:681:15)
    at AsyncSeriesHook.eval [as callAsync] (eval at create (****project/_dev/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1)
    at AsyncSeriesHook.lazyCompileHook …
Run Code Online (Sandbox Code Playgroud)

javascript webpack mini-css-extract-plugin

0
推荐指数
1
解决办法
4289
查看次数