2016-01-24 101 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(() => { ... }