如何在angular-cli中为长路径制作“别名”?

时间:2017-01-06 13:31:58

标签: angular angular-cli

我正在使用Angular CLI。如何转换路径:

import {AppConfig, AppConfigInterface} from '../../../app.config';

类似于:

import {AppConfig, AppConfigInterface} from 'root/app.config';

4 个答案:

答案 0 :(得分:16)

在tsconfig.json中尝试:

SELECT e.first_name, e.department_id, e.job_id, l.state_province 
FROM employees e 
 LEFT JOIN departments d ON e.department_id = d.department_id 
 LEFT JOIN locations l ON d.location_id = l.location_id 
WHERE l.state_province = 'Sao Paulo';

答案 1 :(得分:0)

angular cli默认模块目录在/angular-cli.json中定义 如果你需要root

,你可以试试'/app.config'

答案 2 :(得分:0)

当尝试解决scss时,我发现了这个问题。我发现由于这种issue

,目前的方法行不通

解决方法是将stylePreprocessorOptions添加到.angular-cli.json,以便解析目录中的所有样式

{
    "apps": [{
        ...
        "stylePreprocessorOptions": {
            "includePaths": [
                "./app/global-styles"
            ]
        },
        ...
    }]
}

对于服务器端渲染,您需要同时为ssr和主应用程序构建添加此内容-否则,您将获得NodeInvocationException: Prerendering failed because of error: Error: Cannot find module 'C:\Users\...\ClientApp\dist-server\main.bundle.js'

{
    "apps": [{
            ...
            "outDir": "dist",
            "stylePreprocessorOptions": {
                "includePaths": [
                    "./app/global-styles"
                ]
            },
            ...
        },
        {
            ...
            "name": "ssr",
            "outDir": "dist-server",
            "stylePreprocessorOptions": {
                "includePaths": [
                    "./app/global-styles"
                ]
            },
            ...
        }
    ]
}

答案 3 :(得分:0)

我想提请注意,仅编辑tsconfig.json将对通过ts编译器的代码完成和构建有效。但是,只要您没有在tsconfig.app.json中定义它们,Agular-CLI就无法识别到真实路径的定义地址。 ng serve将显示版本error TS2307: Cannot find module '@...

鉴于此,将定义限制为后者将使 IntelliSense编译器将它们显示为无法识别的路径

简而言之:在tsconfigtsconfig.app JSON文件中定义路径