当前位置: 首页 > 知识库问答 >
问题:

如何将引导程序添加到angular-cli项目

东门阳飇
2023-03-14

在获得bootstrap及其与npm的依赖关系之后,我们的第一种方法是将它们添加到Angulat-cli-build.js中:

'bootstrap/dist/**/*.min.+(js|css)',  
'jquery/dist/jquery.min.+(js|map)',  
'tether/dist/**/*.min.+(js|css)',

并将它们导入index.html

<script src="vendor/jquery/dist/jquery.min.js"></script>
<script src="vendor/tether/dist/js/tether.min.js"></script>
<link rel="stylesheet" type="text/css" href="vendor/bootstrap/dist/css/bootstrap.min.css">
<script src="vendor/bootstrap/dist/js/bootstrap.min.js"></script>

这在ng serve中工作得很好,但一旦我们生成了带有-prod标志的构建,所有这些依赖项就从dist/vendor中消失了(令人惊讶!)。

我们打算如何在一个用angular-cli生成的项目中处理这样的场景(即加载引导脚本)?

我们有以下想法,但我们真的不知道该走哪条路。

>

  • 是否使用CDN?但我们更愿意提供这些文件以保证它们可以被使用

    是否将依赖关系复制到ng build-prod之后的dist/vendor?但这似乎是angular-cli应该提供的东西,因为它“照顾”构建部分?

    src/system-config.ts中添加jquery、bootstrap和tether并以某种方式将它们拉到main.ts的包中?但考虑到我们不会在应用程序代码中显式地使用它们(不像moment.js或类似lodash的东西),这似乎是错误的。

  • 共有1个答案

    艾奕
    2023-03-14

    重要更新:ng2-bootstrap现在被ngx-bootstrap取代

    ngx-bootstrap同时支持角度3和角度4。

    更新:1.0.0-beta.11-webpack或以上版本

    ng -v
    

    >

  • 安装ngx-bootstrap和bootstrap:

    npm install ngx-bootstrap bootstrap --save
    

    这一行现在安装引导程序3,但将来可以安装引导程序4。请记住,ngx-bootstrap支持这两个版本。

    打开src/app/app.module.ts并添加:

    import { AlertModule } from 'ngx-bootstrap';
    ...
    @NgModule({
    ...
    imports: [AlertModule.forRoot(), ... ],
    ... 
    })
    
    "styles": [
    "styles.css",
    "../node_modules/bootstrap/dist/css/bootstrap.min.css"
    ],
    
    <alert type="success">hello</alert>
    

    而且,如果您的angular-cli版本是1.0.0-beta.10或以下版本,那么您可以使用以下步骤。

    首先,转到项目目录并键入:

    npm install ngx-bootstrap --save
    

    然后,打开您的Angulat-cli-build.js并添加这一行:

    vendorNpmFiles: [
       ...
       'ngx-bootstrap/**/*.js',
       ...
    ]
    
    const map:any = {
       ...
       'ngx-bootstrap': 'vendor/ngx-bootstrap',
       ...
    }
    
    const packages: any = {
      'ngx-bootstrap': {
        format: 'cjs',
        defaultExtension: 'js',
        main: 'ngx-bootstrap.js'
      }
    };
    

  •  类似资料:
    • 问题内容: 所以,我想要的是选择一个项目时要运行的另一段代码。但是我的问题是,如何对特定项目实施? 这是我的代码: 我该怎么做才能添加到“车辆”,“自行车/自行车”,“船”,“房屋”,“企业”,“对象”,“工作”,“等级”和“许可证”项中? 问题答案: 如果您希望在选择更改时发生某些事情,则不希望使用MouseListener,而希望使用。它不仅是正确的抽象,而且请记住,不使用鼠标就可以更改选择。

    • 问题内容: Eclipse Helios 3.6 Windows XP SP3 我已经使用Eclipse通过以下方式下载了guava SDK: 1)在Eclipse中,转到 帮助 >安装新软件… 2)在“ 使用: ”文本框中,我使用了以下URL http://svn.codespot.com/a/eclipselabs.org/guava- bundle/trunk/repository/ 3)它

    • 我已在项目文件夹中安装了模块: ####################################################################################################### NPM警告可选跳过可选依赖性:fsevents@1.2.7(node_modules/fsecents): NPM警告不支持跳过选项依赖性:不支持fsevent

    • 我对Artisan在使用Xampp的Windows 10上的使用存在问题。 我做了什么: 从git Repository克隆项目 运行composer安装 在我尝试运行的项目所在的目录中: 但我错了: 无法打开输入文件:artisan 但如果我运行命令 我得到命令列表,如缓存,调试,雄辩...但是没有一个工匠... 如何将artisan添加/使用到现有项目中?

    • 问题内容: 有一篇很棒的文章,介绍如何异步引导angular1应用程序。这使我们能够在引导之前从服务器获取json。 主要代码在这里: 如何使用Angular 2达到相同的目的? 问题答案: 实际上,您需要在应用程序本身之外显式创建一个注入器以获取实例来执行请求。然后,在增强应用程序时,可以将已加载的配置添加到提供程序中。 这是一个示例: 然后,您可以通过依赖项注入访问配置: 请参阅以下代码:ht