forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			91 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# mime
 | 
						|
 | 
						|
Comprehensive MIME type mapping API based on mime-db module.
 | 
						|
 | 
						|
## Install
 | 
						|
 | 
						|
Install with [npm](http://github.com/isaacs/npm):
 | 
						|
 | 
						|
    npm install mime
 | 
						|
 | 
						|
## Contributing / Testing
 | 
						|
 | 
						|
    npm run test
 | 
						|
 | 
						|
## Command Line
 | 
						|
 | 
						|
    mime [path_string]
 | 
						|
 | 
						|
E.g.
 | 
						|
 | 
						|
    > mime scripts/jquery.js
 | 
						|
    application/javascript
 | 
						|
 | 
						|
## API - Queries
 | 
						|
 | 
						|
### mime.lookup(path)
 | 
						|
Get the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last '/' or '.').  E.g.
 | 
						|
 | 
						|
```js
 | 
						|
var mime = require('mime');
 | 
						|
 | 
						|
mime.lookup('/path/to/file.txt');         // => 'text/plain'
 | 
						|
mime.lookup('file.txt');                  // => 'text/plain'
 | 
						|
mime.lookup('.TXT');                      // => 'text/plain'
 | 
						|
mime.lookup('htm');                       // => 'text/html'
 | 
						|
```
 | 
						|
 | 
						|
### mime.default_type
 | 
						|
Sets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)
 | 
						|
 | 
						|
### mime.extension(type)
 | 
						|
Get the default extension for `type`
 | 
						|
 | 
						|
```js
 | 
						|
mime.extension('text/html');                 // => 'html'
 | 
						|
mime.extension('application/octet-stream');  // => 'bin'
 | 
						|
```
 | 
						|
 | 
						|
### mime.charsets.lookup()
 | 
						|
 | 
						|
Map mime-type to charset
 | 
						|
 | 
						|
```js
 | 
						|
mime.charsets.lookup('text/plain');        // => 'UTF-8'
 | 
						|
```
 | 
						|
 | 
						|
(The logic for charset lookups is pretty rudimentary.  Feel free to suggest improvements.)
 | 
						|
 | 
						|
## API - Defining Custom Types
 | 
						|
 | 
						|
Custom type mappings can be added on a per-project basis via the following APIs.
 | 
						|
 | 
						|
### mime.define()
 | 
						|
 | 
						|
Add custom mime/extension mappings
 | 
						|
 | 
						|
```js
 | 
						|
mime.define({
 | 
						|
    'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],
 | 
						|
    'application/x-my-type': ['x-mt', 'x-mtt'],
 | 
						|
    // etc ...
 | 
						|
});
 | 
						|
 | 
						|
mime.lookup('x-sft');                 // => 'text/x-some-format'
 | 
						|
```
 | 
						|
 | 
						|
The first entry in the extensions array is returned by `mime.extension()`. E.g.
 | 
						|
 | 
						|
```js
 | 
						|
mime.extension('text/x-some-format'); // => 'x-sf'
 | 
						|
```
 | 
						|
 | 
						|
### mime.load(filepath)
 | 
						|
 | 
						|
Load mappings from an Apache ".types" format file
 | 
						|
 | 
						|
```js
 | 
						|
mime.load('./my_project.types');
 | 
						|
```
 | 
						|
The .types file format is simple -  See the `types` dir for examples.
 |