0.0.34 • Published 7 years ago

angular2-extjs-webpack-plugin v0.0.34

Weekly downloads
7
License
MIT
Repository
github
Last release
7 years ago

Angular2 Ext JS Webpack Plugin

This Webpack plugin produces a minimized build of the Sencha Ext JS framework containing only those classes used by your Angular2 app. Use with the angular2-extjs custom renderer for Angular2.

How it works

The plugin crawls your Angular2 source code looking for selector tags that match Ext JS xtypes as well as calls to Ext.create() and Ext.require() to compile a list of classes used by your app. It then uses Sencha Cmd to produce an optimized build of Ext JS containing only those classes and corresponding CSS. It then includes the built js and css files into your index.html.

Dependencies

You must have Ext JS 6.2+ and Sencha Cmd 6.2+ to use this plugin.

Options

The Angular2ExtJSWebpackPlugin constructor takes an object with the following properties:

  • debug boolean True to output debug information.
  • detail boolean True to output more detailed debug information.
  • indexHtmlLocation string The path to the source file index.html.
  • indexHtmlTitle string The title in the index.html.
  • rootSelector string the root selector in the index.html file.
  • build string Which Ext JS build to produce (testing or production).
  • extThemeAppPath string The path for the Ext JS Theme project that will be created.
  • extThemeAppName string The name of the Ext JS Theme project that will be created.
  • extFrameworkPath string The path to the Ext JS framework.

Example

'use strict';

const path = require('path');
const webpack = require('webpack');
const Angular2ExtJSWebpackPlugin = require('angular2-extjs-webpack-plugin');

module.exports = {
	devtool: 'inline-source-map',
	entry: [
		'./src/index'
	],
	output: {
		path: path.join(__dirname, 'build'),
		filename: 'index.js'
	},
	plugins: [
		new ExtJSAngular2WebpackPlugin({
			indexHtmlLocation: 'src',
			indexHtmlTitle: 'Angular2 Webpack',
			rootSelector: 'my-app',
			build: 'testing',	// testing, production
			extThemeAppPath: '.',
			extThemeAppName: 'Theme',
			extFrameworkPath: '~/Downloads/ext-6.2.0',
			debug: false
		})
	],
	module: {
		loaders: [
			{
				test: /\.js$/,
				loader: 'babel',
				include: [
						path.join(__dirname, 'src')
				]
			},
			{
				test: /\.css$/,
				loader: 'style!css'
			},
			{
				test: /\.(ico|jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2)(\?.*)?$/,
				exclude: /\/favicon.ico$/,
				loader: 'file',
				query: {
					name: 'static/media/[name].[hash:8].[ext]'
				}
			}
		]
	}
};
0.0.34

7 years ago

0.0.33

7 years ago

0.0.32

7 years ago

0.0.31

7 years ago

0.0.30

7 years ago

0.0.29

7 years ago

0.0.28

7 years ago

0.0.27

7 years ago

0.0.26

7 years ago

0.0.25

7 years ago

0.0.24

7 years ago

0.0.23

7 years ago

0.0.22

7 years ago

0.0.21

7 years ago

0.0.20

7 years ago

0.0.19

7 years ago

0.0.18

7 years ago

0.0.17

7 years ago

0.0.16

7 years ago

0.0.15

7 years ago

0.0.14

7 years ago

0.0.13

7 years ago

0.0.12

7 years ago

0.0.11

7 years ago

0.0.10

7 years ago

0.0.9

7 years ago

0.0.8

7 years ago

0.0.7

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago