asp.net core 2 angular template - 在哪里添加第三方资产

时间:2017-12-11 14:34:38

标签: asp.net angular asp.net-core

看起来clientapp文件夹中的所有内容都被编译成javascript并且可能使用webpack捆绑到main-client.js中。我不太了解它。

我想知道的是,如果我有一些javascript和css不是角度应用程序的严格组成部分,我在项目中添加这些依赖项。我将它添加到dist文件夹中?看起来这个文件夹是由webpack动态创建的,所以我不想这样做。

例如,它安装的默认角度应用程序显然使用bootstrap作为css网格系统类,因此必须在某处安装bootstrap。是在webpack配置?我将如何添加任何其他第三方资产或我自己的资产?

感谢您使用此模板的任何明确性

3 个答案:

答案 0 :(得分:4)

根据显然是您所指的模板作者Steve Sanderson的this blog,添加第三方节点模块的预期操作顺序为:

  1. 将该模块添加到package.json文件中,保存然后还原npm软件包,
  2. 将项目添加到vendor中的webpack.config.vendor.js数组中(与将项目添加到nonTreeShakableModules中与Mike_G相同的文件中的数组相同),
  3. 运行webpack --config webpack.config.vendor.js重新打包您的新资产。在执行此步骤之前,请确保使用npm安装webpack。

值得一提的是,史蒂夫(Steve)说,在第2步中,如果要添加的是CSS资源,则需要node_modules和扩展内的完整路径,即font-awesome/css/font-awesome.css,但是如果您仅包含一个Javascript库,则仅库名就足够了,即moment代表Moment.js

答案 1 :(得分:0)

由于正在使用 webpack ,因此无法在budnle.js文件中添加任何JS或CSS代码。 您必须在运行包装之前创建代码。

另一种方法是创建文件并在index.html文件中手动导入。

这是做事的好方法,但只是在你需要为你的项目添加一些CSS代码而不知道angular / webpack的时候。 至于JS代码,几乎不可能添加这样的东西,因为html代码也被编译并发送到bundle.js

答案 2 :(得分:0)

您可以使用两种方式: 1)使用角度/ cli。在.angular-cli.json中,您可以找到:

"styles": [
  "styles.css"
],
"scripts": [],

在这里你可以添加任何自定义的css或js文件。 2)使用静态文件: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files 在第二种方式中,您可以设置一个特定的文件夹,添加任何自定义文件css或js并从_layout.cshtml文件链接到它。 希望对你有所帮助