構造はこのようなものです動作しません:postcssインポートイサキプラグインは私のプロジェクトの
my_project
|-- css
| -- main.css
|-- css-dev
| -- main.css
|-- node_modules
| -- bootstrap
| -- dist
| -- css
| -- bootstrap.css
|-- package.json
`-- Gruntfile.js
そして、私のGruntfile.js
このようなものです:あなたが見たよう
module.exports = function (grunt) {
var processorArray = [
require('postcss-import')(),
require('cssnano')()
];
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
postcss: {
options: {
processors: processorArray
},
dist: {
files: [{
expand: true,
cwd: 'css-dev/',
src: ['**/*.css'],
dest: 'css/'
}]
}
},
watch: {
scripts: {
files: ['css-dev/*.css'],
tasks: ['postcss'],
options: {
spawn: false
}
}
}
});
grunt.loadNpmTasks('grunt-postcss');
grunt.loadNpmTasks('grunt-contrib-watch');
};
、私はpostcss-importうなり声を使用したいですプラグインを使用してbootstrap.css
ファイルをcss-dev/main.css
ファイルにインポートし、最終結果ファイルをcss
ディレクトリにmain.css
というファイル名で配置します。
コンテンツmain.css
ファイルcss-dev
内のディレクトリのは、次のとおりです。
@import "bootstrap.css";
/* normalize selectors */
h1::before, h1:before {
/* reduce shorthand even further */
margin: 10px 20px 10px 20px;
/* reduce color values */
color: #ff0000;
/* drop outdated vendor prefixes */
-webkit-border-radius: 16px;
border-radius: 16px;
/* remove duplicated properties */
font-weight: normal;
font-weight: normal;
/* reduce position values */
background-position: bottom right;
}
/* correct invalid placement */
@charset "utf-8";
.test{
font: 12px Calibri;
}
私はすべての物事が正しいことだと思いますが、単調なタスクを実行した後、@import
が正常に動作しないようで、結果ファイルは、このようなものです:
@import "bootstrap.css";h1:before{margin:10px 20px;color:red;border-radius:16px;font-weight:400;background-position:100% 100%}.test{font:2px Calibri}
意味ブートストラップファイルの内容が予期せずmain.css
ファイルにインポートされません。
何が問題なのですが、どうすれば解決できますか?
あなたのソリューションは動作しますが、あなたのパスはfo rのブートストラップが、他のCSSライブラリをインポートしたいのですが? –
あなたのガイドによると、私はユーザー '@import" bootstrap/dist/css/bootstrap.css ";' 'node_modules'ディレクトリからブートストラップファイルを自動的に取り出します。 –
これも同様ですが、postcss-importにパスを追加するのと同じです。あなたの設定にパスを持っているのは、別のプロジェクトでそのcssコンポーネントを再利用すると、あなたのcssがプロジェクト構造に縛られていないということです。 –