0.0.15 • Published 7 years ago

ts-server v0.0.15

Weekly downloads
40
License
ISC
Repository
github
Last release
7 years ago

TsServer

A simple local development server.

Install

$ npm install ts-server --save-dev

Usage

import TsServer from "ts-server"
import path from "path"
import config from "./config"

var name = "my-component"
var $server = new TsServer()
$server.set({
	root: config.paths.root,
	open: `${config.dirs.components}/${name}/preview/`,
	livereload: {
		directory: `${config.dirs.components}/${name}`,
		filter: function (file) {
			var filepos = file.replace(`${config.dirs.components}/${name}`, "")
			var sep = path.sep
			if(filepos.indexOf(sep + "dist") === 0 || filepos.indexOf(sep + "preview") === 0) {
				return true
			}
			else {
				return false
			}
		},
	},
}).start()

1 instantiate

var $server = new TsServer()

2 set options

$server.set(options)

3 start server

$server.start()

APIs

set(options)

set options before everything. Options will be merged with default options. The result us a copy of default options, so if you set again, new options will be merged with default options, not last options.

default options:

{
	host: "localhost",
	port: 8978,
	root: ".",
	open: "/",
	livereload: {
		enable: true,
		port: 9572,
		directory: ".", // only files in this directory changes causing reload
		filter: function(file) {
			// based on "directory", files in directory will be filtered for listening, return "true" to be listened, return "false" to ignore
			if(file.match(/node_modules/)) {
				return false
			}
			else {
				return true
			}
		},
		callback: function(file, current, previous) {
			// when a listened file changes
		},
	},
	middleware: [], // middleware for node http app.use. livereload is a middleware in fact
	indexes: false, // whether to display file indexes when you visit a folder
	onStart: function(app) {
		// app is an instance of express
	},
	onOpen: function() {},
	onReload: function() {},
	onRestart: function() {},
	onStop: function() {},
}

However, you can set options by passing options to constructor:

var server = new TsServer(options)
server.start()

start()

start a server after set. If the server is running, you can not start it again.

stop()

stop the running server.

restart()

stop() and then start().

reload()

Call the livereload to reload.

$server.reload()

open()

Open your local browser to open a new page. It's just an alias and improvement of open module. Just open in browser, no other feature.

$server.open(uri)

Events

onStart

When the server begin to start. before express app listen action.

$server.set({
	onStart: function(app) {
		app.use(...)
	},
})

onOpen

When server is setup, and open a browser webpage, with url

$server.set({
	...
	onOpen: function(url) {},
	...
})

onReload

After reload page.

onStop

When a server is closing.

onRestart

After a server restarted.

Generator

This application is generated by Componer. If you want to modify the source code, do like this:

npm i -g gulp-cli bower componer
mkdir your-project && cd your-project
componer init -i

componer pull {{componout-name}} -u https://github.com/{{author-name}}/{{componout-name}}.git
componer install {{componout-name}}

After you modified source code in src directory, run:

componer build {{componout-name}}

To learn more about componer, read this.

0.0.15

7 years ago

0.0.14

7 years ago

0.0.12

7 years ago

0.0.11

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