我正在尝试使用 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) 我们在部署之前使用 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)