【发布时间】:2019-03-06 07:01:55
【问题描述】:
我正在设置一个从 javascript 文件迁移的打字稿项目。下面是结构文件夹
src
--featureA
----script1.ts
----script2.ts
----index.ts
--featureB
----script1.ts
----index.ts
tsconfig.ts
webpack.config.js
package.json
我的 tsconfig.ts
{
"compileOnSave": true,
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"rootDir": "src",
"outDir": "dist",
"allowUnreachableCode": false,
"allowUnusedLabels": false,
"alwaysStrict": true,
"noImplicitAny": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"noFallthroughCasesInSwitch": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"suppressExcessPropertyErrors": false,
"suppressImplicitAnyIndexErrors": false,
"strictFunctionTypes": true,
"strictNullChecks": true,
"strictPropertyInitialization": true,
"lib": ["es5", "dom"],
"typeRoots": [
"node_modules/@types"
],
},
"include": [
"./src/**/*"
],
"exclude": [
"node_modules"
]
}
我的 webpack 配置
const { CheckerPlugin } = require("awesome-typescript-loader");
module.exports = {
mode: "development",
resolve: {
extensions: [".ts", ".tsx", ".js", ".jsx"]
},
devtool: "source-map",
module: {
rules: [
{
test: /\.tsx?$/,
loaders: ["awesome-typescript-loader"]
}
]
},
plugins: [
new CheckerPlugin()
],
devServer: {
before(app) {
},
contentBase: "web"
}
};
我的 package.json
"scripts": {
"start": "webpack-dev-server"
},
"devDependencies": {
"awesome-typescript-loader": "^3.5.0",
"typescript": "^2.7.2",
"typewiz": "^1.2.3",
"typewiz-webpack": "^1.2.3",
"webpack": "^4.20.0",
"webpack-cli": "^3.1.1",
"webpack-dev-server": "^3.1.0"
}
功能 A 和 B 是独立的,我没有 main.js 文件作为入口点。如果我编译并缩小功能 A,我将获得 featureA.js 文件并进行部署。这是我想要达到的结果。
我仍然不知道这个设置是否符合我的要求?以及如何使用 webpack 按需编译每个功能,所需的命令如下所示:
Input: npm compile featureA
Output: featureA.js (with minified)
你能帮帮我吗?
【问题讨论】:
标签: javascript node.js typescript webpack