2016-12-03 74 views
0

我正在使用Angular2 cli与webpack并试图创建一个独立的模块,其中包含一个相对路径的css文件,我不能让它在没有使用完整路径的情况下工作。Angular2 webpack相对css文件

我在这里按照文档,仍然无法正常工作。 https://angular.io/docs/ts/latest/cookbook/component-relative-paths.html

@Component({ 
    selector: 'mymodulecomponent', 
    template: '<view></view>', 
    styleUrls: ['./mystyle.component.scss'] 
}) 

有一些依赖或什么可以被我做错了?

我最终希望为npm构建,所以如果有另一种方式来包含cc文件,我是开放的。

+0

尝试删除从路径 “./”: 'mystyle.component.scss']。如果这不起作用,请尝试使用简单的css文件。 – Avi

+0

你的代码片段在这里没有任何问题,并且使用angular-cli你也有webpack预配置,除非你调整了它。因此,问题必须出现在您的角度应用程序源代码中,如果您尝试在应用程序示例中重现它并在此处提供代码,则可能会有所帮助。 –

+0

@ jali-ai我没有修改任何默认的角度cli或webpack设置。你有任何种子项目或暴力展示吗?我已经尝试了几个,并没有与相对路径的CSS工作。 – Rob

回答

0

添加一个模块ID,像这样:

@Component({ 
    moduleId: module.id, 
    selector: 'mymodulecomponent', 
    template: '<view></view>', 
    styleUrls: ['./mystyle.component.scss'] 
}) 

还看到:Angular2 - What is the meanings of module.id in component?

+0

你提到的答案正确地指出,使用'webpack'你不需要设置'module.id',这就是这个问题。 –

+0

正确,webpack不使用module.id并且为webpack提供文档方法似乎不起作用。 – Rob

+0

因此,你是否使用带有Webpack的cli(即从SystemJS切换到Webpack之后的普通香草cli),还是明确地使用Webpack(即完整的monty,带有webpack.config.?s等)?前者并没有提供一个完整的flepack Webpack(还),它只是在“底层”(并且规定了moduleId)使用,而后者与cli一起提出了几个问题(参见cli的问题) - 可能是一个种子项目可能是比cli更好的选择。无论如何,一些更多的信息可能会帮助我们帮助你。 –