我在我的asp.net Core MVC项目中使用webpack来打包js/css文件,并将其放置在wwwroot文件夹中。
我的文件夹结构如下所示: 我在FrontEnd.csproj中添加了“after-build”部分:
“FrontEnd/node_modules” 包含通过 “npm install” 命令安装的 npm 模块;
“Web/wwwroot/dist” 和 “Web/wwwroot/fonts” 包含由 “npm run build” 命令生成的捆绑的 js/css/fonts 文件;
它按预期工作。但是,如果我有机会在发布 Web 项目时执行此命令,那就太好了。
但是,当我尝试将 prepublish 部分添加到 Web 项目并开始发布时……
我得到了这个错误:命令“npm run build”以代码-4058退出 我猜测这是因为package.json位于FrontEnd项目中(而不是Web项目),所以我寻找了一个合适的脚本以正确的方式启动命令,并覆盖了该部分:
但是当我遇到以下错误时:
我的文件夹结构如下所示: 我在FrontEnd.csproj中添加了“after-build”部分:
<Target Name="BuildClientAssets" BeforeTargets="Build">
<Exec Command="npm install"/>
<Exec Command="npm run build"/>
</Target>
“FrontEnd/node_modules” 包含通过 “npm install” 命令安装的 npm 模块;
“Web/wwwroot/dist” 和 “Web/wwwroot/fonts” 包含由 “npm run build” 命令生成的捆绑的 js/css/fonts 文件;
它按预期工作。但是,如果我有机会在发布 Web 项目时执行此命令,那就太好了。
但是,当我尝试将 prepublish 部分添加到 Web 项目并开始发布时……
<Target Name="BuildClientAssets" BeforeTargets="Publish">
<Exec Command="npm install"/>
<Exec Command="npm run build"/>
</Target>
我得到了这个错误:命令“npm run build”以代码-4058退出 我猜测这是因为package.json位于FrontEnd项目中(而不是Web项目),所以我寻找了一个合适的脚本以正确的方式启动命令,并覆盖了该部分:
<Target Name="BuildClientAssets" BeforeTargets="Publish">
<Exec Command="npm install" />
<Exec Command="webpack --config ../FrontEnd/webpack.config.js" />
</Target>
但是当我遇到以下错误时:
无法解析'./src/components/app/file1.ts' 错误:入口模块未找到0
错误:无法解析'./src/components/app/file2.ts'
错误:入口模块未找到0
错误:无法解析'source-map-loader' 模块未找到0
命令已经开始运行,但是模块仍然在 Web 中搜索,而不是在前端项目中。
有任何想法吗?