ykit-config-fekit

Features

该插件主要是为了迁移 FEkit 项目,详细迁移文档请参考这里

安装

直接按照以下命令安装即可,该插件会依照项目中的 fekit.config 生成 ykit.js

$ npm install @qnpm/ykit-config-fekit --save --registry http://npmrepo.corp.qunar.com/

插件配置详情

{
    plugins: this.config.plugins.concat([
        this.webpack.DefinePlugin({
            "process.env": {
                FEKIT: JSON.stringify(envConfig[self.env])
            }
        })
    ]),
    module: {
        preLoaders: this.config.module.preLoaders.concat([
            { test: /\.(jsx?|coffee)$/, loader: sysPath.join(__dirname, './preloaders/script.js') }
        ]),
        loaders: this.config.module.loaders
            .filter(function (loader) {
                return loader.test && loader.test.toString().match(/less/) === null;
            })
            .map(function (loader) {
                if (loader.test.toString().match(/\.css/)) {
                    return {
                        test: /\.(sass|scss|css|less)$/,
                        loader: options.ExtractTextPlugin.extract('style', [
                            'css-loader?-url',
                            require.resolve('./loaders/fekit-scss')
                        ])
                    };
                } else if (loader.test.toString().match(/html|string/)) {
                    return {
                        test: /\.(html|string)/,
                        loader: 'raw-loader'
                    };
                }
                return loader;
            }).concat({
                test: /\.coffee$/, loader: "coffee-loader"
            }).concat({
                test: /\.(handlebars|mustache)/,
                loader: require.resolve('./loaders/tmpl-loader')
            })
    },
    resolve: {
        extensions: this.config.resolve.extensions.concat([
            '.js',
            '.jsx',
            '.html',
            '.coffee',
            '.string',
            '.mustache',
            '.handlebars',
        ])
    }
}