有没有一种方法可以在ASP.NET MVC中集成Material-components-web

时间:2019-02-28 12:00:07

标签: asp.net-mvc visual-studio npm gulp material-components-web

我正在尝试整合Material.io中的material-components-web。但是事实证明这是很麻烦的。我对Node世界也很陌生,所以我正在努力学习。

这是我到目前为止所做的:

  1. 将NPM耦合到Visual Studio 2017中,我可以使用很多功能,但是它实际上并没有像我想象的那样工作。例如,Npm init挂起,但是安装/更新命令可以正常工作。

  2. 获得了一个具有以下依赖项的Packag.json:

    "devDependencies": { "material-components-web": "0.44.1", "gulp": "3.9.1", "gulp-util": "3.0.8", "gulp-minify-css": "1.2.4", "gulp-path": "4.0.0", "gulp-js-minify": "0.0.3", "gulp-sass": "3.1.0", "gulp-flatten": "0.4.0" }

  3. 安装了Gulp并设置了我的Sass编译器和css / js压缩程序(用于生产)。并在我构建项目之前将其设置为运行

我的@material文件夹中包含所有基本组件。但是现在我遇到了Javascript模块依赖项的问题。

我注意到标准的'require'方法无法正常工作,因为它是特定于节点的解析器(如果我错了,请纠正我)。首先,我尝试将Babel整合到gulp中,以将进口商品转换为ECMA。但这似乎不成功。

现在,我正在手动转换所有导入/导出(因此无法进行更新)。开始时效果很好。但是现在,我陷入了依赖地狱,到处都是引用和导入……从(focus-trap.js,tabbale和xtend)之类的依赖中

这甚至有可能集成到ASP.NET MVC中吗? 我还注意到Material-components-web开始在其github上切换到TypeScript!

任何提示或帮助都非常感谢。

1 个答案:

答案 0 :(得分:1)

我最终做了以下事情,以便能够将material-components-web用于前端:

  1. 下载Node.Js并将NPM位置添加为Visual Studio 2017的第三方参考。
  2. 将node_modules文件夹添加到我的项目并运行npm-install
  3. 复制所有依赖项(除了“ Babel”翻译器)。并安装了NPM
  4. 创建用于编译,提取等的WebPack配置。

这实际上是非常基本的,但是在较旧的MVC项目中使用此类NPM软件包却没有任何知识和信息,这是一个很大的麻烦。

如果有人需要更多信息或帮助,请在下面发表评论。