2016-11-11 5 views
0

からCSSファイル内の特定の@importを無視私はこのWebPACKのコンフィグを持つWebPACKのコンフィグ

var Webpack = require("webpack"); 
var Path = require("path"); 
var OutputPath = "build"; 

module.exports = { 

    entry: "./src/app.tsx", 
    output: { 
     path: Path.join(__dirname, OutputPath, "" + process.env.NODE_ENV), 
     publicPath: "", 
     filename: "bundle.js" 
    }, 

    devtool: "source-map", 

    devServer: { 
     contentBase: OutputPath 
    }, 

    resolve: { 
     extensions: ["", ".ts", ".tsx", ".webpack.js", ".web.js", ".js", ".html"], 
     alias: { 
      jquery: "jquery/src/jquery" 
     } 
    }, 

    node: { 
     fs: "empty" 
    }, 

    module: { 
     loaders: [ 
     { test: /\.tsx?$/, loader: "ts-loader" }, 
     { test: /\.html$/, loader: "html-loader!file-loader?name=[name].[ext]" }, 

     { test: /\.ejs$/, loader: "ejs-loader" }, 

     { 
      test: /\.svg$/, 
      loaders: [ 
       "url-loader?limit=100000&name=assets/[name].[hash].[ext]", 
       "image-webpack?bypassOnDebug=false&optimizationLevel=7&interlaced=false" 
      ] 
     }, 
     { 
      test: /\.(png|jpe?g|gif|woff|woff2|ttf|eot|ico)$/, 
      loader: "url-loader?limit=100000&name=assets/[name].[hash].[ext]" 
     }, 
, 
     { 
      test: /\.css$/, 
      exclude: /.*onsenui.*$/, 
      loader: "ignore-loader" 
     } 
, 
     { 
      test: /\.(less|css)$/, 
      exclude: /.*(font_awesome|ionicons|iconic-font).*$/, 
      loader: "style-loader!css-loader?-import!less-loader!postcss-loader" 
     } 
     ], 
    } 
}; 

アプリケーションはonsenui上に構築されていると私は、CSSのインポートから特定のファイル名を無視しようとしています。

@import url("font_awesome/css/font-awesome.min.css"); 
@import url("ionicons/css/ionicons.min.css"); 
@import url("material-design-iconic-font/css/material-design-iconic-font.min.css"); 

... 

特定の行をコメントアウトできますが、npmパッケージを更新するたびにその行をコメントアウトすることはできません。

誰かが知っている、どのようにそのCSSのインポートを無視するか?

答えて

0

最後に、「string-replace-webpack-plugin」をインストールしてこの方法で使用しました。

var StringReplacePlugin = require("string-replace-webpack-plugin"); 

は、次にプリローダーにそのプラグインを追加する作業

preLoaders: [ 
     { 
     test: /onsenui\.css$/, 
     loader: StringReplacePlugin.replace({ 
      replacements: [ 
       { 
        pattern: /.*(@import).*/ig, 
        replacement: function (match, p1, offset, string) { 
         return "/*/"; 
        } 
       } 
      ]}), 
      include: /node_modules\\onsenui.*/ 
     } 
] 
を行います
関連する問題