私はユニットテストのジャスミン2.5、WebPACKの2.2.1、およびカルマ1.3.0を使用して、私の角度2のプロバイダをしています...Pouchdb Angular2のWebPACKの問題
私はすでにイオンプロジェクト内の私のプロバイダを使用してそれを構築していますイオンアプリスクリプトはすべて正常に動作します。私は何かが私はPouchdbとそのコンストラクタを使用
うまくいかない角度WebPACKのプロセスとそれを構築しようとしたときは、しかしひどく翻訳され、エラーが起こりました。
Unhandled Promise rejection: pouchdb_browser_1.default is not a constructor ; Zone: ProxyZone ; Task: Promise.then ; Value: TypeError: pouchdb_browser_1.default is not a constructor
私はそれを構築する場合は、ポストビルドプロセスのコードが正常に動作します使用してpouchdb_browserにpouchdb_browser_1.defaultを変更します。
残念ながら、テスト中に実行されるコードは変更できません。
私webpack.test.js
const helpers = require('./helpers'),
webpack = require('webpack'),
LoaderOptionsPlugin = require('webpack/lib/LoaderOptionsPlugin'); `module.exports = {
devtool: 'inline-source-map',
resolve: {
extensions: ['.ts', '.js'],
modules: [helpers.root('src'), 'node_modules']
},
module: {
rules: [{
enforce: 'pre',
test: /\.ts$/,
loader: 'tslint-loader',
exclude: [helpers.root('node_modules')]
}, {
enforce: 'pre',
test: /\.js$/,
loader: 'source-map-loader',
exclude: [
// these packages have problems with their sourcemaps
helpers.root('node_modules/rxjs'),
helpers.root('node_modules/@angular')
]
}, {
test: /\.ts$/,
loader: 'awesome-typescript-loader',
query: {
// use inline sourcemaps for "karma-remap-coverage" reporter
sourceMap: false,
inlineSourceMap: true,
module: "commonjs",
removeComments: true
},
exclude: [/\.e2e\.ts$/]
}, {
enforce: 'post',
test: /\.(js|ts)$/,
loader: 'istanbul-instrumenter-loader',
include: helpers.root('src'),
exclude: [/\.spec\.ts$/, /\.e2e\.ts$/, /node_modules/]
}],
},
plugins: [
// fix the warning in ./~/@angular/core/src/linker/system_js_ng_module_factory_loader.js
new webpack.ContextReplacementPlugin(
/angular(\\|\/)core(\\|\/)(esm(\\|\/)src|src)(\\|\/)linker/,
helpers.root('./src')
),
new LoaderOptionsPlugin({
debug: true,
options: {
/**
* Static analysis linter for TypeScript advanced options configuration
* Description: An extensible linter for the TypeScript language.
*
* See: https://github.com/wbuchwalter/tslint-loader
*/
tslint: {
emitErrors: false,
failOnHint: false,
resourcePath: 'src'
},
}
})
]};
すべてのアイデアは、以下を参照してください?
ありがとうございます!
お返事に感謝。それは私の問題を解決する – charlesg