jspm 不使用 --inject 加载包
jspm not loading bundles with --inject
周末一直在试验 jspm 和 systemjs。除了捆绑 jspm 优惠外,一切正常。我可以加载单个文件,但 jsmp 拒绝加载捆绑文件(已优化)。
我正在使用以下方法创建捆绑文件:
jspm bundle lib/login assets/js/1-login.js --inject
这会更新 config.js 文件,如下所示:
System.config({
baseURL: "/",
defaultJSExtensions: true,
transpiler: "babel",
babelOptions: {
"optional": [
"optimisation.modules.system"
]
},
paths: {
"github:*": "jspm_packages/github/*",
"npm:*": "jspm_packages/npm/*"
},
bundles: {
"1-login.js": [
"lib/login.js",
"lib/sample.js"
]
},
map: {....}
});
lib/login.js
import * as sample from 'lib/sample'
export function test() {
sample.testMethod();
}
lib/sample.js
import $ from 'jquery'
export function testMethod( ) {
console.log( $('body') );
}
因此,根据 jsmp 文档:
As soon as one of these modules is requested, the request is intercepted and the bundle is loaded dynamically first, before continuing with the module load.
据我了解运行
System.import('lib/login.js');
应该加载包(和优化的文件),但不是——它只是加载实际文件。我在这里错过了什么?作为奖励问题,为什么 jquery 不在捆绑列表中?
嗯,弄清楚我错在哪里了。
我将所有生成的资产保存在 assets/js
中,但在我的 config.json 中,我没有更改 baseUrl
来反映这一点。事实上,我确实在 package.json
中正确设置了 baseUrl
,这就是为什么 jspm 没有抛出很多错误。
这与 jquery 未加载的原因相同,因此问题已解决:)
周末一直在试验 jspm 和 systemjs。除了捆绑 jspm 优惠外,一切正常。我可以加载单个文件,但 jsmp 拒绝加载捆绑文件(已优化)。
我正在使用以下方法创建捆绑文件:
jspm bundle lib/login assets/js/1-login.js --inject
这会更新 config.js 文件,如下所示:
System.config({
baseURL: "/",
defaultJSExtensions: true,
transpiler: "babel",
babelOptions: {
"optional": [
"optimisation.modules.system"
]
},
paths: {
"github:*": "jspm_packages/github/*",
"npm:*": "jspm_packages/npm/*"
},
bundles: {
"1-login.js": [
"lib/login.js",
"lib/sample.js"
]
},
map: {....}
});
lib/login.js
import * as sample from 'lib/sample'
export function test() {
sample.testMethod();
}
lib/sample.js
import $ from 'jquery'
export function testMethod( ) {
console.log( $('body') );
}
因此,根据 jsmp 文档:
As soon as one of these modules is requested, the request is intercepted and the bundle is loaded dynamically first, before continuing with the module load.
据我了解运行
System.import('lib/login.js');
应该加载包(和优化的文件),但不是——它只是加载实际文件。我在这里错过了什么?作为奖励问题,为什么 jquery 不在捆绑列表中?
嗯,弄清楚我错在哪里了。
我将所有生成的资产保存在 assets/js
中,但在我的 config.json 中,我没有更改 baseUrl
来反映这一点。事实上,我确实在 package.json
中正确设置了 baseUrl
,这就是为什么 jspm 没有抛出很多错误。
这与 jquery 未加载的原因相同,因此问题已解决:)