我正在尝试建立一个混合AngularJS Angular应用程序,它使用Webpack作为模块加载程序,Karma Jasmine作为测试框架。为了运行测试,我正在使用karmawebpack
;但是,webpack创建的包从未加载到浏览器中,因此测试从未执行(duh!)。我试过很多方法来检查是否正常,但我在其他网站上都没有发现这个问题。
所以,一点调试信息。首先,我的karma.conf.js
文件:
const webpackConfig = require('./webpack.test');
delete webpackConfig.entry;
delete webpackConfig.output;
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine'],
port: 8080,
logLevel: config.LOG_DEBUG,
autoWatch: false,
browsers: ['Chrome', 'Firefox'],
singleRun: true,
files: [
// Some remote libraries that should be loaded. These all load fine.
'./client/app/app.spec.ts'
],
preprocessors: {
'./client/app/app.spec.ts': ['webpack', 'sourcemap']
},
webpack: webpackConfig,
webpackMiddleware: {
stats: {
colors: true
}
},
browserNoActivityTimeout: 60000,
client: {
captureConsole: true
},
browserConsoleLogOptions: {
level: 'log',
format: '%b %T:\n%m\n',
terminal: true
},
reporters: ['mocha'],
mochaReporter: {
output: 'autowatch'
}
});
};
运行Karma时,webpack执行成功(Karma webpack
printswebpack:Compiled successfully.
,我可以看到webpack的输出);但是,应该保存捆绑包的临时文件(即/tmp/\u karma\u webpack/
)从未创建。
我已经设置了unileRun
选项为false
,以查看加载了哪些文件,但捆绑包甚至没有被请求。但是,如果我将Karma的日志级别设置为DEBUG
,我将看到以下(相关的)输出:
01 02 2018 12:55:26.678:DEBUG [middleware:source-files]: Requesting /base/client/app/app.spec.ts?bb6177fad9c0cf145a4962a89c7d2efd0bd0235a /
01 02 2018 12:55:26.678:DEBUG [middleware:source-files]: Fetching /home/c1moore/omninox/omnistack/client/app/app.spec.ts
01 02 2018 12:55:26.678:DEBUG [web-server]: serving (cached): /home/c1moore/omninox/omnistack/node_modules/karma-jasmine/lib/adapter.js
01 02 2018 12:55:26.678:DEBUG [web-server]: serving (cached): /home/c1moore/omninox/omnistack/client/app/app.spec.ts
看起来Karma正试图提供需要所有测试的文件;然而,我在浏览器的任何地方都看不到。也就是说,文件似乎没有被请求/加载,也没有看到浏览器试图将TS解释为JS而导致的任何错误。
我没有包括应用程序。spec.ts文件,因为它似乎不相关,因为它从未实际加载。然而,这是相当标准的。它导入所有需要的内容、所有供应商库和所有测试(使用require.context
)。
那么,有没有人有任何建议、指点,或者看到我可能错过的东西?我查阅了文档、代码和各种网站,试图找到一些我遗漏的简单内容,希望能找到一些答案。
解决方案简单得令人沮丧。我在其他一些SO帖子(帖子1和帖子2)上找到了答案。
基本上,Chrome和FF拒绝执行Karma发送的测试文件,因为Karma webpack
不会更改中typescript文件的扩展名。ts
至。js
。要解决这个问题,只需为指定一个mime类型。ts
您的业力中的文件。conf.js
文件如下:
module.exports = (config) => {
config.set({
// ...
mime: {
'text/x-typescript': ['ts', 'tsx'] // `tsx` is optional depending on your environment
},
// ...
};
这是我的密码: 并与, 仍然给出了这个问题: 错误。/src/客户端/资产/字体/黑色。TTF 1:0模块解析失败:意外字符”(1:0)您可能需要一个适当的加载程序来处理此文件类型,目前没有配置加载程序来处理此文件。请参见https://webpack.js.org/concepts#loaders(此二进制文件省略了源代码)@./src/Client/page/Home/Homepage.mod
问题内容: 我已经为此花了好一会儿,想知道是否有可能从头开始。感谢您对此的任何帮助! npm包 我有一个npm包,它基本上是一个React组件库。该库具有嵌入式样式表,该样式表引用了CSS中的资源,例如字体和图像。然后将所有这些都使用webpack捆绑到中。 的配置如下所示: 随着看起来像: 到目前为止,一切都很好。 应用程序 现在,在另一个代码库中,我有了主应用程序,该应用程序安装了该npm软件
问题内容: OSGi无法找到我的DLL文件,而且我似乎也找不到原因。 目前,我的包根目录中有DLL文件(),我也尝试将其放在目录中。 有关捆绑商品的清单看起来像这样: 然后在我的JNA界面中,执行loadLibrary(根据文档): 然后在另一个类中,我尝试使用JNA接口 我通过另一个捆绑软件提供了JNA(该捆绑软件输出com.sun.jna和上面导入的其他软件包),但也尝试过使用此处定义的捆绑软
我将symfony 3迁移到symfony 4.3,并且我的自定义包移动到:src/Bundles/FooBundle。 structure FooBundle:-依赖注入-配置。php-FooExtension。php-Event-Model-Resources-config-services。yml-Service-Twig-Exception-FooBundle。php 和文件bundle/
我刚刚下载了Eclipse Luna的最新版本,并立即安装了Aptana3.0插件。在这样做之后,我得到了一堆错误,与本文中列出的错误相同: “加载包[...]”期间发生内部错误 当我重新启动Eclipse时,我仍然遇到同样的错误,它似乎没有得到修复。
我正在尝试部署我的svelte项目,但在livereload插件之外激活捆绑javascript时遇到了问题。当我运行rollup-c-w时,代码显示得很好,但在其他服务器上为应用程序提供服务不会激活JavaCScript。这至少应该是一种安慰。记录一些东西,并希望添加html,但它只显示一个空白页面。 卷起来。配置。js rollup-c将输出捆绑包。js。我的索引。下面是html 这是运行li