lin3s/distribution

LIN3S 内部不同目的的发行库

安装数: 17,243

依赖项: 2

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 2

开放问题: 0

语言:JavaScript

v4.3.2 2018-01-31 08:48 UTC

README

LIN3S 内部不同目的的发行库。

Latest Stable Version

从 Packagist (PHP) 下载
Downloads from Packagist

从 NPM (JS) 下载
Downloads from NPM

为什么?

LIN3S 中,我们与许多库和项目合作,并且通常所有这些都需要脚本来自动化某些过程。这个库集中管理这类脚本和任务,提高其可重用性。

安装

目前,这个包包含 PHPJavaScript 代码,因此您可以从 NPMComposer 管理这个库。

如果您的项目是 PHP,请确保您的系统中已安装 Composer,并执行以下命令

$ composer require lin3s/distribution

否则,如果您的项目是 JavaScript,请确保您的系统中已安装 Node,并执行以下命令

$ npm install lin3s-distribution --save-dev
#
# OR
#
$ yarn add lin3s-distribution --dev

用法

以下代码是使其与 Webpack 一起工作的基本配置。

'use strict';

const Webpack = require('lin3s-distribution').Webpack;

const options = {
  entry: {
    'app': './app/Resources/assets/js/entry-app.js',
  },
  input: {
    base: 'app',
    scss: 'app/Resources/scss',
    includedNodeModules: [
      'swiper'
    ]
  },
  output: {
    jsPath: './web',
    jsPublicPath: '/',
    jsFilename: '[name].js',
    jsFilenameProduction: '[name].[chunkhash].js',

    cssPath: '',
    cssPublicPath: '/',
    cssFilename: '[name].css',
    cssFilenameProduction: '[name].[contenthash].css'
  },
  postcss: {
    autoprefixer: {
      browsers: ['last 2 versions']
    }
  },
  manifest: '../../manifest.json'
};

module.exports = Webpack(options);

Symfony 集成

首先,您需要在您的应用程序内核中安装该捆绑包。

// app/config/AppKernel.php

public function registerBundles()
{
    $bundles = [
        // ...

        new LIN3S\Distribution\Php\Symfony\Lin3sDistributionBundle(),
        // ...
    ];
}

一旦捆绑包被启用,您就可以管理配置。以下是默认配置

# app/config/config.yml

lin3s_distribution:
    webpack:
        manifest_path: "%kernel.root_dir%/../manifest.json"
        public_js_path: "/js/"
        public_css_path: "/css/"

您可以选择启用 webpack 默认配置,方法如下

# app/config/config.yml

lin3s_distribution:
    webpack: ~

最后,用以下 Twig 标签替换您的脚本和 HTML 标签。

{# app/Resources/views/base.html.twig #}

(...)

<head>
(...)

    {% webpack_entry_css 'app' %}
</head>

<body>
(...)

    {% webpack_entry_js 'app' %}
</body>

许可选项

License