我有一个aspnet core应用程序,其中包含vue.js部分,我使用webpack构建一切正常。现在我正在寻找创建生产版本的解决方案,以创建我的vue捆绑包的缩小版本并在生产模式下运行vue(不带控制台日志)。我在webpack.config
中设置了生产模式:
if (process.env.NODE_ENV === 'production') {
module.exports.plugins = [
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: '"production"'
}
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
})
]
} else {
module.exports.devtool = '#source-map'
}
当我通过gulp对其进行webpack时,process.env.NODE_ENV
始终为undefined。然后我尝试使用Microsoft.AspNetCore.SpaServices
,并在startup.cs
中使用以下行:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
...
if(env.IsDevelopment())
app.UseWebpackDevMiddleware();
...
}
这也像我的 gulp 配置一样正常工作,而且 process.env.NODE_ENV
属性被设置为 'development'
。
现在我尝试在 VS 2017 中创建生产构建(生成 -> 发布项目名称),但没有运行 webpack 任务。
所以我尝试在我的 *.csproj 文件中添加以下内容:
<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
<Exec Command="npm run build" />
</Target>
这会抛出错误:命令“npm run build”以代码1退出。
现在我已经没有其他想法来解决它,希望有人能帮助我。谢谢!
exited with code 1
更多的信息。是什么导致了npm命令的失败? - Bertnpm ERR!缺少脚本:build
,如果我尝试使用命令gulp min
,会出现这些错误: - wendt88npm install
后发生了变化。 运行npm rebuild node-sass
来构建适用于您当前环境的绑定。