javascript - การนำเข้าแผนที่ซอร์สของ Webpack ไม่ได้ถูกกำหนด (ตัวดีบักเกอร์ของ Firefox)
ฉันพยายามที่จะเข้าใจ webpack และการสร้าง source maps ในขณะที่ source maps ถูกสร้างขึ้นมา ฉันไม่สามารถดีบักการ import ได้ ดูรูปนี้ของ chrome debugger และ firefox (รุ่นพัฒนา 57) debugger (และเพื่อเป็นหลักฐานว่าตัว debugger ทำงาน ตัวอย่างนี้คือเว็บไซต์บนอินเทอร์เน็ตที่กำลังถูกดีบักในหน้าต่าง firefox อีกอันหนึ่ง)
ฉันต้องการใช้ Firefox ดังนั้นฉันจะตั้งค่าแผนที่แหล่งที่มาให้ทำงานอย่างถูกต้องและให้ข้อมูลเกี่ยวกับโมดูลที่นำเข้าได้อย่างไร
ตัวอย่างที่เรียบง่ายของฉันอยู่ที่นี่:
main.ts
import { write } from './utils';
import { Stack } from './stack';
const appRef: any= document.querySelector('#app');
const stack: Stack = new Stack(['alice', 'bob', 'eve']);
stack.add('charlie');
write(stack.members.toString(), appRef);
stack.ts
export class Stack {
private _members: string[];
constructor(members: string[]) {
this._members = members;
}
get members(): string[] {
return this._members;
}
push(member: string) {
this._members.push(member);
}
pop(): string | undefined {
return this._members.pop();
}
}
ยูทิลส์.ts
export function write(text: string, domElement: any) {
if (domElement) {
const textNode: any = document.createTextNode(text);
domElement.append(textNode);
} else {
document.write(text);
}
}
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"sourceMap": true,
"strict": true
}
}
webpack.config.js
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: './src/main.ts',
module: {
rules: [
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/
}
]
},
resolve: {
extensions: [".ts", ".js"]
},
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
devtool: 'source-map',
devServer: {
contentBase: path.resolve(__dirname, '.'),
hot: true
},
plugins: [
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html'
}),
new webpack.NamedModulesPlugin(),
new webpack.HotModuleReplacementPlugin()
],
};