node_modules在Visual Studio中中断构建

Cla*_*ein 5 npm asp.net-mvc-4 angularjs node-modules selenium-webdriver

努力将Angular(v4)添加到现有的ASP.NET MVC 4应用程序中.其中一个项目包括Selenium Web Driver,其中包含一个web.config文件.

node_modules\selenium-webdriver\lib\test\data\web.config
Run Code Online (Sandbox Code Playgroud)

此文件夹不包含在项目中,但位于我的Web应用程序文件夹中

myapplication\node_modules
myapplication\Controllers
myapplication\Views
myapplication\web.config
etc...
Run Code Online (Sandbox Code Playgroud)

selenium-webdriver文件夹中的web.config导致构建中断,并出现以下错误:

使用注册为的部分是错误的

allowDefinition ='MachineToApplication'超出应用程序级别.此错误可能是由于未在IIS中将虚拟目录配置为应用程序引起的.

非常常见的错误,当它是你自己的错误时很容易修复,但由于这是一个我正在使用的库,我无法控制文件.基于我的研究,我的问题有点扁平化:

  • 我可以让selenium-webdriver的"test"文件夹转到其他地方吗?
  • 我的node_modules文件夹应该不在我的Web应用程序的根目录下吗?
  • 一般来说..我该如何解决这个问题?

hr-*_*tis 7

安装rimraf

 npm install rimraf
Run Code Online (Sandbox Code Playgroud)

然后在package.json使用rimraf命令

 'script': {
    'postinstall': 'rimraf node_modules/**/web.config'
 }
Run Code Online (Sandbox Code Playgroud)

请注意,第一次必须手动删除它,因为已经安装了包,postinstall命令将无法运行.

但是对于你未来的所有安装+为你的队友而言,它将postinstall在每次运行之后自动处理npm install

请阅读有关npm pre&post hooks的更多信息