2016-01-24 98 views
0

我想讓jspm安裝到不同的目錄(wwwroot),所以它需要把它的config.js和jspm_packages文件夾放在那裏。但是我希望config.js不包含wwwroot,因爲當你在網站上時,這是root(),當它查找wwwroot \ jspm_packages時,它無法找到它們。有沒有辦法做到這一點?jspm安裝到不同的文件夾

的package.json
{ 
    "name": "angular2-aspnetcore-starter", 
    "version": "1.0.0", 
    "description": "Angular2 with Asp.net Core starter kit.", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "Ryan Langton", 
    "license": "ISC", 
    "jspm": { 
    "directories": { 
     "packages": "wwwroot/jspm_packages" // <- need wwwroot for jspm install 
    }, 
    "configFile": "wwwroot/config.js", // <- need wwwroot for jspm install 
    "dependencies": { 
     "angular2": "npm:[email protected]", 
     "angular2-polyfill": "npm:[email protected]^0.0.1", 
     "es6-shim": "github:es-shims/[email protected]^0.34.1", 
     "reflect-metadata": "npm:[email protected]", 
     "rxjs": "npm:[email protected]", 
     "zonejs": "npm:[email protected]^0.5.10" 
    }, 
    "devDependencies": { 
     "babel": "npm:[email protected]^5.8.24", 
     "babel-runtime": "npm:[email protected]^5.8.24", 
     "core-js": "npm:[email protected]^1.1.4" 
    } 
    }, 
    "devDependencies": { 
    "angular2": "2.0.0-beta.1", 
    "del": "^2.2.0", 
    "es6-promise": "^3.0.2", 
    "es6-shim": "^0.33.13", 
    "gulp": "~3.9.0", 
    "gulp-typescript": "~2.10.0", 
    "gulp-watch": "~4.3.5", 
    "jspm": "^0.16.24", 
    "reflect-metadata": "0.1.2", 
    "rxjs": "5.0.0-beta.0", 
    "zone.js": "^0.5.10" 
    } 
} 

config.js

該文件是由所創建的 「JSON安裝」 命令這是構建過程的一部分。

System.config({ 
    baseURL: "/", 
    defaultJSExtensions: true, 
    transpiler: "babel", 
    babelOptions: { 
    "optional": [ 
     "runtime", 
     "optimisation.modules.system" 
    ] 
    }, 
    paths: { 
    "github:*": "wwwroot/jspm_packages/github/*", // <-- this is wrong, do not want wwwroot here! 
    "npm:*": "wwwroot/jspm_packages/npm/*"  // <-- this is wrong, do not want wwwroot here! 
    }, 

    map: { 
    "angular2": "npm:[email protected]", 
    "angular2-polyfill": "npm:[email protected]", 
    "babel": "npm:[email protected]", 
    "babel-runtime": "npm:[email protected]", 
    "core-js": "npm:[email protected]", 
    "es6-shim": "github:es-shims/[email protected]", 
    "reflect-metadata": "npm:[email protected]", 
    "rxjs": "npm:[email protected]", 
    "zonejs": "npm:[email protected]", 
    "github:jspm/[email protected]": { 
     "assert": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "buffer": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "constants-browserify": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "crypto-browserify": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "events": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "path-browserify": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "process": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "stream-browserify": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "string_decoder": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "util": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "vm-browserify": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "angular": "npm:[email protected]", 
     "camelcase": "npm:[email protected]", 
     "dot-prop": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "crypto": "github:jspm/[email protected]", 
     "es6-promise": "npm:[email protected]", 
     "es6-shim": "npm:[email protected]", 
     "process": "github:jspm/[email protected]", 
     "reflect-metadata": "npm:[email protected]", 
     "rxjs": "npm:[email protected]", 
     "zone.js": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "assert": "github:jspm/[email protected]", 
     "bn.js": "npm:[email protected]", 
     "buffer": "github:jspm/[email protected]", 
     "inherits": "npm:[email protected]", 
     "minimalistic-assert": "npm:[email protected]", 
     "vm": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "util": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "buffer-xor": "npm:[email protected]", 
     "cipher-base": "npm:[email protected]", 
     "create-hash": "npm:[email protected]", 
     "crypto": "github:jspm/[email protected]", 
     "evp_bytestokey": "npm:[email protected]", 
     "fs": "github:jspm/[email protected]", 
     "inherits": "npm:[email protected]", 
     "systemjs-json": "github:systemjs/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "browserify-aes": "npm:[email protected]", 
     "browserify-des": "npm:[email protected]", 
     "buffer": "github:jspm/[email protected]", 
     "crypto": "github:jspm/[email protected]", 
     "evp_bytestokey": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "cipher-base": "npm:[email protected]", 
     "crypto": "github:jspm/[email protected]", 
     "des.js": "npm:[email protected]", 
     "inherits": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "bn.js": "npm:[email protected]", 
     "buffer": "github:jspm/[email protected]", 
     "constants": "github:jspm/[email protected]", 
     "crypto": "github:jspm/[email protected]", 
     "randombytes": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "bn.js": "npm:[email protected]", 
     "browserify-rsa": "npm:[email protected]", 
     "buffer": "github:jspm/[email protected]", 
     "create-hash": "npm:[email protected]", 
     "create-hmac": "npm:[email protected]", 
     "crypto": "github:jspm/[email protected]", 
     "elliptic": "npm:[email protected]", 
     "inherits": "npm:[email protected]", 
     "parse-asn1": "npm:[email protected]", 
     "stream": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "systemjs-json": "github:systemjs/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "base64-js": "npm:[email protected]", 
     "child_process": "github:jspm/[email protected]", 
     "fs": "github:jspm/[email protected]", 
     "ieee754": "npm:[email protected]", 
     "isarray": "npm:[email protected]", 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "inherits": "npm:[email protected]", 
     "stream": "github:jspm/[email protected]", 
     "string_decoder": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "systemjs-json": "github:systemjs/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "fs": "github:jspm/[email protected]", 
     "path": "github:jspm/[email protected]", 
     "process": "github:jspm/[email protected]", 
     "systemjs-json": "github:systemjs/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "bn.js": "npm:[email protected]", 
     "buffer": "github:jspm/[email protected]", 
     "crypto": "github:jspm/[email protected]", 
     "elliptic": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "cipher-base": "npm:[email protected]", 
     "crypto": "github:jspm/[email protected]", 
     "fs": "github:jspm/[email protected]", 
     "inherits": "npm:[email protected]", 
     "ripemd160": "npm:[email protected]", 
     "sha.js": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "create-hash": "npm:[email protected]", 
     "crypto": "github:jspm/[email protected]", 
     "inherits": "npm:[email protected]", 
     "stream": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "browserify-cipher": "npm:[email protected]", 
     "browserify-sign": "npm:[email protected]", 
     "create-ecdh": "npm:[email protected]", 
     "create-hash": "npm:[email protected]", 
     "create-hmac": "npm:[email protected]", 
     "diffie-hellman": "npm:[email protected]", 
     "inherits": "npm:[email protected]", 
     "pbkdf2": "npm:[email protected]", 
     "public-encrypt": "npm:[email protected]", 
     "randombytes": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "inherits": "npm:[email protected]", 
     "minimalistic-assert": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "bn.js": "npm:[email protected]", 
     "buffer": "github:jspm/[email protected]", 
     "crypto": "github:jspm/[email protected]", 
     "miller-rabin": "npm:[email protected]", 
     "randombytes": "npm:[email protected]", 
     "systemjs-json": "github:systemjs/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "bn.js": "npm:[email protected]", 
     "brorand": "npm:[email protected]", 
     "hash.js": "npm:[email protected]", 
     "inherits": "npm:[email protected]", 
     "systemjs-json": "github:systemjs/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "create-hash": "npm:[email protected]", 
     "crypto": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "inherits": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "util": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "bn.js": "npm:[email protected]", 
     "brorand": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "asn1.js": "npm:[email protected]", 
     "browserify-aes": "npm:[email protected]", 
     "buffer": "github:jspm/[email protected]", 
     "create-hash": "npm:[email protected]", 
     "evp_bytestokey": "npm:[email protected]", 
     "pbkdf2": "npm:[email protected]", 
     "systemjs-json": "github:systemjs/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "child_process": "github:jspm/[email protected]", 
     "create-hmac": "npm:[email protected]", 
     "crypto": "github:jspm/[email protected]", 
     "path": "github:jspm/[email protected]", 
     "process": "github:jspm/[email protected]", 
     "systemjs-json": "github:systemjs/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "assert": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "bn.js": "npm:[email protected]", 
     "browserify-rsa": "npm:[email protected]", 
     "buffer": "github:jspm/[email protected]", 
     "create-hash": "npm:[email protected]", 
     "crypto": "github:jspm/[email protected]", 
     "parse-asn1": "npm:[email protected]", 
     "randombytes": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "crypto": "github:jspm/[email protected]", 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "core-util-is": "npm:[email protected]", 
     "events": "github:jspm/[email protected]", 
     "inherits": "npm:[email protected]", 
     "isarray": "npm:[email protected]", 
     "process": "github:jspm/[email protected]", 
     "stream-browserify": "npm:[email protected]", 
     "string_decoder": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "assert": "github:jspm/[email protected]", 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "assert": "github:jspm/[email protected]", 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "fs": "github:jspm/[email protected]", 
     "inherits": "npm:[email protected]", 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "events": "github:jspm/[email protected]", 
     "inherits": "npm:[email protected]", 
     "readable-stream": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "inherits": "npm:[email protected]", 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "indexof": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "es6-promise": "npm:[email protected]", 
     "process": "github:jspm/[email protected]" 
    } 
    } 
}); 
+0

我可能會改變我的工作流程,有config.js和jspm_packages安裝到根,然後作爲我的構建過程的一部分轉移他們到wwwroot –

回答

0

幾個選項。你所有的組件/自定義JS也在wwwroot中?如果是這樣,我只需將jspm安裝到該目錄中,然後jspm將只查看當前的dir ...這將在本地是wwwroot,但是在生產中它只會查看您的根目錄以查找該網站。

第二個選項,也是推薦的,因爲它更快,將使用jspm bundle捆綁您的所有依賴項,然後JSPM將能夠正確地找到它們。這僅僅是所有捆綁成DEPS bundle.js,把在wwwroot文件,然後在你的索引文件加載system.js後只是做:

System.import('./bundle.js').then(() => { ... }