适用于webpack的angular cli实际上并不起作用



我使用的是"angular cli":"1.0.0-beta.11 webpack.2">

我的angular-cli-build.js我有:

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/**/*.+(ts|js|js.map)',
      'rxjs/**/*.+(js|js.map)',
      '@angular/**/*.+(js|js.map)',
      'bootstrap/dist/css/bootstrap.css'
    ]
  });
};

和我的index.html:

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

但是使用ng build,我在/dist文件夹中什么也得不到。。。这是如何与webpack一起工作的?我过去很容易使用webpack和angular 1,现在我发现它真的很复杂,我浪费了很多时间试图猜测它必须如何工作,我发现angular cli只是为了测试,而不是真正的工作?有没有一种方法可以取代angular cli compile,以旧的方式用webpack覆盖它?

如果升级到1.0.0-beta.11-webpack.3或更高版本,则可以使用angular-cli.jsonapps[0].styles属性列出要导入的外部样式表。有了这个,您就不必向index.html添加任何内容。

要从1.0.0-beta.11-webpack.2升级,请运行:

npm uninstall -g angular-cli
npm cache clean
npm install -g angular-cli@1.0.0-beta.11-webpack.3

发件人https://github.com/angular/angular-cli#updating-angular cli,升级现有项目时在项目目录中运行的其他步骤是:

rm -rf node_modules dist tmp
npm install --save-dev angular-cli@latest
ng init

如果你生成一个新项目并安装Bootstrap,你的angular-cli.json应该是这样的:

{
  "project": {
    "version": "1.0.0-beta.11-webpack.3",
    "name": "demo"
  },
  "apps": [
    {
      "root": "src",
      "outDir": "dist",
      "assets": "assets",
      "index": "index.html",
      "main": "main.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.json",
      "prefix": "app",
      "mobile": false,
      "styles": [
        "styles.css",
        "../node_modules/bootstrap/dist/css/bootstrap.min.css"
      ],
      "scripts": [],
      "environments": {
        "source": "environments/environment.ts",
        "prod": "environments/environment.prod.ts",
        "dev": "environments/environment.dev.ts"
      }
    }
  ],
  "addons": [],
  "packages": [],
  "e2e": {
    "protractor": {
      "config": "./protractor.conf.js"
    }
  },
  "test": {
    "karma": {
      "config": "./karma.conf.js"
    }
  },
  "defaults": {
    "styleExt": "css",
    "prefixInterfaces": false,
    "lazyRoutePrefix": "+"
  }
}

我发现使用angular cli的工作非常不稳定,最好使用webstarte手动完成,angular 2候选版本今年正在更改,而且速度很慢,对angular cli 来说最糟糕

https://github.com/preboot/angular2-webpack

使用引导程序的步骤4 css:

1. npm install --save bootstrap@^4.0.0-alpha.3
2. in app.component.ts just insert:
import 'bootstrap/dist/css/bootstrap.css';

一切都很神奇,都在发挥作用:

一切都是自动的,没有像angular cli那样的问题,我不建议使用this last来构建应用程序,只是生成组件或类似的想法;angular cli确实是一个非常beta状态的开发。

最新更新