Webpack Karma 无法解析本地导入
Webpack Karma cannot resolve local import
我正在将 Webpack 用于应用程序和测试(使用 https://github.com/webpack/karma-webpack)。该应用程序在 typescript 中,测试在 Babel 中。
在测试中从独立模块导入一些东西是可行的(使用 import { cleanHTML, fromHTML, toHTML } from "../../app/utils/text.ts";
,即我需要提及 .ts 扩展名,否则它会失败)。
当我实际尝试导入一个在另一个文件中导入组件的 React 组件时,出现以下错误:
Module not found: Error: Cannot resolve 'file' or 'directory' ./blocks/paragraph
.
目录树如下所示:
src/
app/
components/
blocks/
paragraph.ts
main.ts
tests/
components/
main_tests.js
utils/
并且 main.ts 像这样导入 paragraph.ts import { ParagraphBlockComponent } from "./blocks/paragraph";
正常编译有效但测试无效。
这是业力配置:
var path = require('path');
module.exports = function (config) {
config.set({
basePath: 'src',
singleRun: true,
frameworks: ['mocha', 'chai'],
reporters: ['dots'],
browsers: ['Firefox'],
files: [
'tests/index.js'
],
preprocessors: {
'tests/index.js': ['webpack']
},
webpack: {
noInfo: true,
module: {
loaders: [
{
test: /\.ts$/,
loaders: ['awesome-typescript-loader']
},
{
test: /\_tests.js$/,
loaders: ['babel-loader']
}
]
}
},
webpackMiddleware: {
noInfo: true,
stats: {
color: true,
chunkModules: false,
modules: false
}
}
});
};
我是不是漏掉了什么?
将以下内容添加到 karma webpack 配置中为我修复了它
resolve: {
extensions: ['', '.js', '.ts']
},
我正在将 Webpack 用于应用程序和测试(使用 https://github.com/webpack/karma-webpack)。该应用程序在 typescript 中,测试在 Babel 中。
在测试中从独立模块导入一些东西是可行的(使用 import { cleanHTML, fromHTML, toHTML } from "../../app/utils/text.ts";
,即我需要提及 .ts 扩展名,否则它会失败)。
当我实际尝试导入一个在另一个文件中导入组件的 React 组件时,出现以下错误:
Module not found: Error: Cannot resolve 'file' or 'directory' ./blocks/paragraph
.
目录树如下所示:
src/
app/
components/
blocks/
paragraph.ts
main.ts
tests/
components/
main_tests.js
utils/
并且 main.ts 像这样导入 paragraph.ts import { ParagraphBlockComponent } from "./blocks/paragraph";
正常编译有效但测试无效。 这是业力配置:
var path = require('path');
module.exports = function (config) {
config.set({
basePath: 'src',
singleRun: true,
frameworks: ['mocha', 'chai'],
reporters: ['dots'],
browsers: ['Firefox'],
files: [
'tests/index.js'
],
preprocessors: {
'tests/index.js': ['webpack']
},
webpack: {
noInfo: true,
module: {
loaders: [
{
test: /\.ts$/,
loaders: ['awesome-typescript-loader']
},
{
test: /\_tests.js$/,
loaders: ['babel-loader']
}
]
}
},
webpackMiddleware: {
noInfo: true,
stats: {
color: true,
chunkModules: false,
modules: false
}
}
});
};
我是不是漏掉了什么?
将以下内容添加到 karma webpack 配置中为我修复了它
resolve: {
extensions: ['', '.js', '.ts']
},