030*_*030 3 versioning typescript
我找到了这个Q&A.
我试图从package.json中获取版本:
import { version } from './package.json';
Run Code Online (Sandbox Code Playgroud)
但它导致:
package.json' has unsupported extension. The only supported extensions are '.ts',
'.tsx', '.d.ts'.
Run Code Online (Sandbox Code Playgroud)
如果您处于commonJS环境中,为什么不简单地使用
const pj = require('./package.json')
console.log(pj.version)
Run Code Online (Sandbox Code Playgroud)
编辑
由于您似乎使用webpack,只需添加适当的加载器即可
module: {
loaders: [
...
{test: /\.json$/, loader: 'json-loader'},
....
Run Code Online (Sandbox Code Playgroud)
显然你需要安装使用 npm install
对于为浏览器设计且不依赖于 Webpack 或任何其他依赖项的库,我喜欢这样做的方式是添加一个prebuild脚本来package.json将版本写入文件。
"scripts": {
"prebuild": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
"build": "tsc",
}
Run Code Online (Sandbox Code Playgroud)
这将使用以下代码运行 node.js:
'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'
并将输出重定向到 src/version.ts
结果version.ts包含:
export const LIB_VERSION = "1.0.0";
然后,您可以简单地从其他文件导入和使用它:
import { LIB_VERSION } from './version';
| 归档时间: |
|
| 查看次数: |
4311 次 |
| 最近记录: |