Я пытаюсь настроить ядро webpack и asp.net с нуля, это метод настройки в моих файлах `Startup.cs:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
{
HotModuleReplacement = false
});
app.UseStaticFiles();
app.UseMvcWithDefaultRoute();
}
, как вы видите, я не использую HMR.
Это пакеты, которые я установил:
{
"version": "1.0.0",
"name": "base",
"scripts": {
"build": "webpack"
},
"private": true,
"devDependencies": {
"webpack": "4.29.3",
"webpack-cli": "3.2.3",
"aspnet-webpack": "3.0.0",
"webpack-dev-middleware": "3.5.2"
}
}
и webpack.config.js
var path = require('path');
module.exports = {
mode: 'development',
entry: './App/entry.js',
output: {
path: path.resolve(__dirname, './wwwroot/dist'),
filename: 'out.bundle.js',
publicPath: './wwwroot'
}
};
теперь, когда я запускаю проектв Visual Studio он работает правильно и создает сценарии на стороне клиента, как указано в файле конфигурации веб-пакета, но после сборки, когда я изменяю указанную запись (entry.js), базовый узел asp.net не выполняет автоматическую компиляцию сценариев, и мне нужно запустить npm run build
вручную или остановите IIS и снова запустите проект, чтобы скомпилировать мои сценарии.
Затем я попытался запустить тот же проект в vs-коде, и все выглядит нормально в vs-коде, каждый раз, когда я сохраняю запись.js asp.net NodeService компилирует сценарии и работает нормально.
Я предполагаю, что что-то упустил в Visual Studio, но насколько я знаю, когда мы используем метод .UseWebpackDevMiddleware () в startup configure asp.net должен запустить сам процесс для отслеживания изменений в сценариях и их автоматической сборки, и, похоже, это происходит только в коде, а не в Visual Studio.