c# - 无法在 ASP.NET Core 中使用 webpack 中间件
问题描述
我尝试在 ASP.NET Core 项目中使用 webpack
这是我的 Startup.cs 文件和配置类
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
{
HotModuleReplacement = true
});
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
这是我的 package.json 文件
{
"name": "streamline",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"wbp": "webpack"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"aspnet-webpack": "^3.0.0",
"bootstrap": "^4.1.2",
"css-loader": "^1.0.0",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"jquery": "^3.3.1",
"popper.js": "^1.14.3",
"style-loader": "^0.21.0",
"uglifyjs-webpack-plugin": "^1.2.7",
"webpack": "^4.16.1",
"webpack-cli": "^3.0.8",
"webpack-hot-middleware": "^2.22.2"
},
"dependencies": {
"@babel/core": "^7.0.0-beta.53",
"@babel/preset-env": "^7.0.0-beta.53",
"babel-loader": "^8.0.0-beta.4"
}
}
当我尝试运行项目时,出现此错误。但我不知道为什么。我该如何解决这个问题?
Exception has occurred: CLR/System.AggregateException
An exception of type 'System.AggregateException' occurred in System.Private.CoreLib.dll but was not handled in user code: 'One or more errors occurred.'
Inner exceptions found, see $exception in variables window for more details.
Innermost exception Microsoft.AspNetCore.NodeServices.HostingModels.NodeInvocationException : Error: Cannot find module 'webpack-dev-middleware'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:594:15)
at Function.Module._load (internal/modules/cjs/loader.js:520:25)
at Module.require (internal/modules/cjs/loader.js:650:17)
at require (internal/modules/cjs/helpers.js:20:18)
at attachWebpackDevMiddleware (/Users/nemesises/Documents/GitHub/streamline/StreamLine/node_modules/aspnet-webpack/WebpackDevMiddleware.js:72:13)
at /Users/nemesises/Documents/GitHub/streamline/StreamLine/node_modules/aspnet-webpack/WebpackDevMiddleware.js:271:25
at Array.forEach (<anonymous>)
at Server.<anonymous> (/Users/nemesises/Documents/GitHub/streamline/StreamLine/node_modules/aspnet-webpack/WebpackDevMiddleware.js:234:36)
at Object.onceWrapper (events.js:273:13)
at Server.emit (events.js:182:13)
at emitListeningNT (net.js:1362:10)
at process._tickCallback (internal/process/next_tick.js:63:19)
at Microsoft.AspNetCore.NodeServices.HostingModels.HttpNodeInstance.<InvokeExportAsync>d__7`1.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Microsoft.AspNetCore.NodeServices.HostingModels.OutOfProcessNodeInstance.<InvokeExportAsync>d__13`1.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Microsoft.AspNetCore.NodeServices.NodeServicesImpl.<InvokeExportWithPossibleRetryAsync>d__10`1.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.AspNetCore.NodeServices.NodeServicesImpl.<InvokeExportWithPossibleRetryAsync>d__10`1.MoveNext()
解决方案
我有同样的问题。为我解决...
npm install --save-dev webpack-cli
这给了我线索 npm WARN aspnet-webpack@3.0.0 requires a peer of webpack-dev-middleware @^1.8.4 || ^3.0.0 但没有安装。您必须自己安装对等依赖项。npm WARN acesweb@1.0.0 没有存储库字段。
然后..
npm install --save-dev webpack-dev-middleware
现在它运行正常。
推荐阅读
- java - 如何使用java从PDF文件中读取两个单词之间的多行内容?
- sql - 按关联存在排序记录
- angular - 可以从单元测试中看到方法内部定义的变量
- java - 执行任务时如何将变量写入gradle属性文件?
- awk - 在 AWK 中使用另一个文件查询一个文件的内容
- animation - 使用带有两个嵌套循环的 LaTeX animate & Tikz
- content-management-system - 如何在 sanity io 用户界面中更改字段样式?
- jquery - 删除vue js中表单字段的错误边框
- mysql - 如何在mysql中的一个查询中转换多个更新查询
- java - Java Regex:查找插入、删除、替换计数