Angular-cli没有使用ng build

时间:2017-03-09 17:32:23

标签: angular-cli

以下是我安装的内容:

@angular/cli: 1.0.0-rc.1
node: 7.4.0
os: linux x64
@angular/common: 2.4.9
@angular/compiler: 2.4.9
@angular/core: 2.4.9
@angular/forms: 2.4.9
@angular/http: 2.4.9
@angular/platform-browser: 2.4.9
@angular/platform-browser-dynamic: 2.4.9
@angular/router: 3.4.9
@angular/cli: 1.0.0-rc.1

我查看了这篇文章Not generating dist folders,但我只想生成一个dist目录,以便我可以将它与Express链接。我正在使用的命令是

ng build --base-href /apply/

我理解使用ng服务文件是在内存中创建的。但是我没有使用ng服务。我有一个Express静态路径

app.use('/', express.static(path.resolve('../../dist')));

由于build命令没有创建dist目录,因此我无法为角度应用程序提供服务。链接中的答案(上图)说使用--watch参数。为什么我要这样做?不应该构建ng目录吗?

我错过了一些明显的东西。任何帮助表示赞赏。

6 个答案:

答案 0 :(得分:2)

这是我所学到的。没有创建dist目录的原因是由于存在编译错误(在较旧的cli版本中并非如此)。错误是

ERROR in Error encountered resolving symbol values statically. Only initialized variables and constants can be referenced because the value of this variable is needed by the template compiler (position 79:22 in the original .ts file), resolving symbol AUTH_PROVIDERS in ...

我从app_module.ts中删除了AUTH_PROVIDERS的依赖项。完成后,项目编译好了。

答案 1 :(得分:1)

我遇到了同样的问题。我的解决方案是查看tsconfig.json文件并从dist部分删除excludes。然后我运行了ng build并生成了dist文件夹并将其放入项目根目录。

另请查看您的angular-cli.json文件,了解outdir字段是否写入dist

答案 2 :(得分:0)

此外,也许dist文件夹实际上已经创建(检查你的Finder),但是没有在你的文本编辑器中显示,因为默认情况下你的.gitignore文件有/ dist。

答案 3 :(得分:0)

我通过手动添加文件夹/ dist解决了此问题,然后运行“ ng build”。这样我就可以看到其中的内容并将其复制并上传到AWS S3。

答案 4 :(得分:0)

第1步:-转到angular.json并检查以下行 “ outputPath”:“ ../ webapp”,

第2步:-重定向到 outputPath 内部提到的路径,您将获得dist文件。

答案 5 :(得分:0)

构建文件夹将列在 angular.json 文件中,其参数名为 outputPath 。只需检查相应的文件夹以获取生产代码。

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "BuddyTranslator": {
      "projectType": "application",
      "schematics": {},
      "root": "",
      "sourceRoot": "src",
      "prefix": "app",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "./dist",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "tsconfig.app.json",
            "aot": true,
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ],
            "styles": [
              "node_modules/bootstrap/dist/css/bootstrap.min.css",
              "src/styles.css"
            ],
            ...

此处目录名称为dist。因此,构建文件将列在源目录的dist文件夹下,