Dependency injection Aurelia依赖注入测试
我一直在使用aurelia应用程序,在测试时遇到了一个错误 我正在尝试使用Dependency injection Aurelia依赖注入测试,dependency-injection,aurelia,jspm,Dependency Injection,Aurelia,Jspm,我一直在使用aurelia应用程序,在测试时遇到了一个错误 我正在尝试使用aurelia依赖项注入,它已经是我通过jspm包括的其他包的依赖项,比如aurelia框架,aurelia路由器,aurelia模板资源,aurelia模板路由器当我尝试注入时,它在我的浏览器上运行良好。然而,当我尝试使用业力进行测试时,它说 27 05 2016 09:45:18.202:WARN [web-server]: 404: /base/aurelia-dependency-injection.js Chro
aurelia依赖项注入
,它已经是我通过jspm
包括的其他包的依赖项,比如aurelia框架
,aurelia路由器
,aurelia模板资源
,aurelia模板路由器
当我尝试注入时,它在我的浏览器上运行良好。然而,当我尝试使用业力进行测试时,它说
27 05 2016 09:45:18.202:WARN [web-server]: 404: /base/aurelia-dependency-injection.js
Chrome 50.0.2661 (Linux 0.0.0) ERROR
Error: XHR error (404 Not Found) loading /home/cyberkiller/test_project/aurelia-dependency-injection.js
Error loading /home/cyberkiller/test_project/aurelia-dependency-injection.js as "aurelia-dependency-injection" from /home/cyberkiller/test_project/src/users/list.ts
Mypackage.json
具有以下jspm依赖项:
"jspm": {
"dependencies": {
"aurelia-animator-css": "npm:aurelia-animator-css@^1.0.0-beta.1.1.2",
"aurelia-bootstrapper": "npm:aurelia-bootstrapper@^1.0.0-beta.1.1.4",
"aurelia-fetch-client": "npm:aurelia-fetch-client@^1.0.0-beta.1.1.1",
"aurelia-framework": "npm:aurelia-framework@^1.0.0-beta.1.1.4",
"aurelia-history-browser": "npm:aurelia-history-browser@^1.0.0-beta.1.1.4",
"aurelia-loader-default": "npm:aurelia-loader-default@^1.0.0-beta.1.1.3",
"aurelia-logging-console": "npm:aurelia-logging-console@^1.0.0-beta.1.1.4",
"aurelia-pal-browser": "npm:aurelia-pal-browser@^1.0.0-beta.1.1.4",
"aurelia-polyfills": "npm:aurelia-polyfills@^1.0.0-beta.1.0.3",
"aurelia-router": "npm:aurelia-router@^1.0.0-beta.1.1.3",
"aurelia-templating-binding": "npm:aurelia-templating-binding@^1.0.0-beta.1.1.2",
"aurelia-templating-resources": "npm:aurelia-templating-resources@^1.0.0-beta.1.1.3",
"aurelia-templating-router": "npm:aurelia-templating-router@^1.0.0-beta.1.1.2",
"bootstrap": "github:twbs/bootstrap@^3.3.5",
"fetch": "github:github/fetch@^0.11.0",
"font-awesome": "npm:font-awesome@^4.6.1",
"simple-line-icons": "npm:simple-line-icons@^2.2.4",
"text": "github:systemjs/plugin-text@^0.0.3"
},
"devDependencies": {
"babel": "npm:babel-core@^5.8.24",
"babel-runtime": "npm:babel-runtime@^5.8.24",
"core-js": "npm:core-js@^1.1.4"
}
}
我确实找到了一个解决办法,那就是在我的package.json
中显式地添加aurelia依赖项注入
“aurelia依赖项注入”:“npm:aurelia依赖项-injection@1.0.0-beta.1.2.3“
这使得我的package.json
看起来像:
"jspm": {
"dependencies": {
"aurelia-animator-css": "npm:aurelia-animator-css@^1.0.0-beta.1.1.2",
"aurelia-bootstrapper": "npm:aurelia-bootstrapper@^1.0.0-beta.1.1.4",
"aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.0.0-beta.1.2.3",
"aurelia-fetch-client": "npm:aurelia-fetch-client@^1.0.0-beta.1.1.1",
"aurelia-framework": "npm:aurelia-framework@^1.0.0-beta.1.1.4",
"aurelia-history-browser": "npm:aurelia-history-browser@^1.0.0-beta.1.1.4",
"aurelia-loader-default": "npm:aurelia-loader-default@^1.0.0-beta.1.1.3",
"aurelia-logging-console": "npm:aurelia-logging-console@^1.0.0-beta.1.1.4",
"aurelia-pal-browser": "npm:aurelia-pal-browser@^1.0.0-beta.1.1.4",
"aurelia-polyfills": "npm:aurelia-polyfills@^1.0.0-beta.1.0.3",
"aurelia-router": "npm:aurelia-router@^1.0.0-beta.1.1.3",
"aurelia-templating-binding": "npm:aurelia-templating-binding@^1.0.0-beta.1.1.2",
"aurelia-templating-resources": "npm:aurelia-templating-resources@^1.0.0-beta.1.1.3",
"aurelia-templating-router": "npm:aurelia-templating-router@^1.0.0-beta.1.1.2",
"bootstrap": "github:twbs/bootstrap@^3.3.5",
"fetch": "github:github/fetch@^0.11.0",
"font-awesome": "npm:font-awesome@^4.6.1",
"simple-line-icons": "npm:simple-line-icons@^2.2.4",
"text": "github:systemjs/plugin-text@^0.0.3"
},
"devDependencies": {
"babel": "npm:babel-core@^5.8.24",
"babel-runtime": "npm:babel-runtime@^5.8.24",
"core-js": "npm:core-js@^1.1.4"
}
}
当我更新所有内容并构建和运行测试时,它不再抱怨,并且成功执行。然而,我不确定这是否只是一种解决方法,或者是一种方法。有没有更好的方法来处理这个问题
提前感谢 如何导入依赖项注入?如果您使用这个:import{Container}来自“aurelia依赖项注入”代码>,您的解决方案应该是正确的。Karma不是为Aurelia构建的,但是Aurelia框架是为DI构建的,所以也许Aurelia知道Karma不知道的一个解决方法。不过你也可以使用Aurelia框架:这对我有用从“Aurelia框架”导入{inject,Container}代码>并且我可以运行我的单元测试。对不起,我之前应该提到这一点,我使用的是TypeScript,我正在以这种方式导入自动注入:import{autoinject}来自“aurelia依赖项注入”代码>您是否在karma配置中包含了node/jspm modules文件夹?我假设您正在使用一个已经运行的测试设置(如骨架/插件骨架?),如何导入依赖项注入?如果您使用这个:import{Container}来自“aurelia依赖项注入”代码>,您的解决方案应该是正确的。Karma不是为Aurelia构建的,但是Aurelia框架是为DI构建的,所以也许Aurelia知道Karma不知道的一个解决方法。不过你也可以使用Aurelia框架:这对我有用从“Aurelia框架”导入{inject,Container}代码>并且我可以运行我的单元测试。对不起,我之前应该提到这一点,我使用的是TypeScript,我正在以这种方式导入自动注入:import{autoinject}来自“aurelia依赖项注入”代码>您是否在karma配置中包含了node/jspm modules文件夹?我假设您正在使用一个已经运行的测试设置(比如骨架/插件骨架?)