【发布时间】:2020-11-25 15:10:55
【问题描述】:
我的目标是使用 Angular 自定义 Web 组件项目设置 Tailwind CSS。由于自定义 Web 组件,我使用 ngx-build-plus:browser 来服务和构建(因为这有助于将所有内容捆绑到一个包中)。
我随后关注 this guide 来实现 Tailwind,但是当我尝试为应用程序提供服务时,我收到以下错误:
ERROR in Module build failed (from <path-to-project>/node_modules/postcss-loader/src/index.js):
Error: Failed to find '~projects/<web-component-project>/src/styles.scss'
in [
<path-to-project>/projects/<web-component-project>/src/app
]
at <path-to-project>/node_modules/postcss-import/lib/resolve-id.js:35:13
tailwind.config.js
module.exports = {
purge: [],
theme: {
extend: {},
},
variants: {},
plugins: [],
}
webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.scss$/,
loader: 'postcss-loader',
options: {
ident: 'postcss',
syntax: 'postcss-scss',
plugins: () => [
require('postcss-import'),
require('tailwindcss'),
require('autoprefixer'),
],
},
},
],
},
};
服务命令
ng s --project <project-name> --single-bundle --extra-webpack-config webpack.config.js
tsconfig.base.json
{
"compileOnSave": false,
"compilerOptions": {
"importHelpers": true,
"module": "esnext",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"downlevelIteration": true,
"baseUrl": "./",
"typeRoots": ["node_modules/@types"],
"lib": ["es2019", "dom", "esnext.asynciterable"],
"types": ["node", "jest"]
},
"exclude": ["cypress", "aveiro-server", "eddyhelp"]
}
projects//tsconfig.app.json
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../out-tsc/app",
"module": "es2015",
"target": "es2015",
"types": []
},
"files": ["src/main.ts", "src/polyfills.ts"],
"include": ["src/**/*.d.ts"]
}
发生了什么事 - 为什么 postcss-loader 试图查看 app 目录 - 而不是 <path-to-project>/projects/<web-component-project>/src/app 我的 styles.scss 所在的目录?
【问题讨论】:
-
你是如何在 tsconfig 中定义
~projects路径的?可以发一下吗? -
你能发布完整的错误吗?
-
<web-component-project>/tsconfig.app.json没有~projects路径。这个文件扩展了../../tsconfig.base.json,这里这个文件不包含path属性。 (只会在问题中包含 tsconfig 文件) -
你可以试试添加这个吗:
"compilerOptions": { "paths": { "~projects/*": [ "relative/path/to/projects/folder/*" ] } }例如:"~projects/*": [ "./projects/*" ] -
嗨@RazRonen - 我尝试将此
paths属性添加到根目录中的 tsconfig.json 文件中,但没有帮助:(
标签: angular tailwind-css