使用 Angular cli 从 node_modules 文件夹添加 CSS

Posted

技术标签:

【中文标题】使用 Angular cli 从 node_modules 文件夹添加 CSS【英文标题】:Add the CSS from the node_modules folder using angular cli 【发布时间】:2016-10-17 02:15:11 【问题描述】:

我已经用 npm 安装了一个新库,到目前为止一切顺利。现在我想将那里的 css 导入我的项目,显然我不应该直接链接到 node_modules 文件夹。那么,是否有一个简单的方法可以将它导入到我的项目中?我正在使用 Angular CLI。

我有一个想法,但我不确定这是否是一个好主意 - 我曾考虑安装 gulp/grunt,然后需要该样式并将其作为 vendor.css 输出到我的项目中。有可能吗?

【问题讨论】:

【参考方案1】:

首先转到您的 angular-cli-build.js 文件并在 vendorNPMFiles 数组中添加一个条目。这将在构建期间将您的 node_modules 文件复制到 /vendor 目录。现在您可以将 index.html 中的 css 引用为 /vendor/folder/file.css。

例如:angular-cli-build.js

/* global require, module */
var Angular2App = require('angular-cli/lib/broccoli/angular2-app');
module.exports = function(defaults) 
  return new Angular2App(defaults, 
    vendorNpmFiles: [
      'systemjs/dist/system-polyfills.js',
      'systemjs/dist/system.src.js',
      'zone.js/dist/**/*.+(js|js.map)',
      'es6-shim/es6-shim.js',
      'reflect-metadata/**/*.+(js|js.map)',
      'rxjs/**/*.+(js|js.map)',
      '@angular/**/*.+(js|js.map)',

      'bootstrap/dist/**/*.*',
      'lodash/lodash.min.js'
    ]
  );
;

index.html sn-p

<link rel="stylesheet" href="vendor/bootstrap/dist/css/bootstrap.min.css">

【讨论】:

以上是关于使用 Angular cli 从 node_modules 文件夹添加 CSS的主要内容,如果未能解决你的问题,请参考以下文章

如何强制 Angular cli 从绝对位置而不是 base-href 提供捆绑文件

Angular CLI 生成的库 - 无法从它的模块导入组件

使用 Angular cli 从 node_modules 文件夹添加 CSS

Angular Cli 警告:不推荐使用选项“entryComponent”:从带有 Ivy 的 9.0.0 版开始,不再需要 entryComponents

带有 MVC 的 Angular CLI 从 API 调用返回 404

如何使用 Angular Cli 运行 tslint?