有没有办法在 ASP.NET MVC 中集成 Material-components-web

Koe*_*man 2 asp.net-mvc visual-studio npm gulp material-components-web

我正在尝试集成 Material.io 中的材料组件网络。但事实证明这是相当麻烦的。我对 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 minifier(用于生产)。并在我构建项目之前将它们设置为运行

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

我注意到标准的“require”方法不起作用,因为它是一个特定于节点的解析器(如果我错了,请纠正我)。首先,我尝试将 Babel 集成到 gulp 中,以将导入转换为 ECMA。但这似乎并不成功。

现在我正在手动转换所有导入/导出(因此更新是不行的)。一开始效果很好。但现在我陷入了依赖关系地狱,到处都是引用和导入......来自像(focus-trap.js、tabbale 和 xtend)这样的依赖关系

这是否可以集成到 ASP.NET MVC 中?我还注意到 Material-components-web 开始在他们的 github 上切换到 TypeScript!

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

Koe*_*man 5

我最终执行了以下操作,以便能够在前端使用material-components-web:

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

它实际上非常基础,但是如果没有任何知识和信息,在旧的 MVC 项目中使用这种类型的 NPM 包是一个很大的麻烦。

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