我正在尝试rollup js来构建我的typescript项目,但我不知道如何生成定义文件,以及如何将它们自动包含在dist文件中。
有人知道怎么做吗?
这是我的汇总表。配置。js
import typescript from "rollup-plugin-typescript";
import handlebars from "rollup-plugin-handlebars";
import babel from 'rollup-plugin-babel';
export default {
entry: 'src/generator.ts',
format: 'cjs',
plugins: [
typescript(),
handlebars(),
babel()
],
dest: 'dist/bundle.js'
};
我使用的是默认的ts配置,但对于declaration=true也是如此。
编辑:
还尝试使用Webpack:
module.exports = {
context: __dirname + '/src',
entry: {
index: './generator'
},
output: {
path: __dirname + '/build',
publicPath: '/',
filename: 'generator.js'
},
resolve: {
root: __dirname,
extensions: ['', '.ts', '.js']
},
module: {
loaders: [
{ test: /\.ts$/, loaders: ['ts-loader'], exclude: /node_modules/ },
{ test: /\.hbs/, loaders: ['handlebars-loader'], exclude: /node_modules/ }
]
}
}
Tsconfig:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"declaration": true,
"outDir": "build"
},
"exclude": [
"node_modules",
"dist",
"build"
]
}
生成d.ts如下所示:
import { ExportPageModel } from './models/page-model';
export declare type ExportType = 'text' | 'html';
export * from './models/page-model';
export declare namespace Generator {
function generateHtml(page: ExportPageModel): string;
function generateText(page: ExportPageModel): string;
}
但是在我使用该包的应用程序中,它找不到生成器...
import { ExportPageModel, Generator } from 'emlb-generator';
生成器未定义,但自动完成工作正常,因此我无法找到问题所在:(
Generator.generateHtml({
...
});
使用汇总的打字稿定义文件
强烈建议您只使用tsc
进行编译。为最终应用程序绑定保留汇总。
例如,检查内置的typestylehttps://github.com/typestyle/typestyle/blob/2349f847abaaddaf3de4ca83f585d293b766959e/package.json#L10
要执行此任务,您需要将指令添加到rollup.config.js
、tsconfig.json
和package.json
考虑汇总版本^0.62.0“
:
1-添加rollup-plugin-tyescript2
的库:
npm i rollup-plugin-typescript2
2-在汇总中导入库。配置。js
从“rollup-plugin-typescript2”导入类型脚本
3-在插件块中包含typescript插件
注:js bellow只是一个示例,所以我删除了其他说明,只是为了让示例更清晰。。。
import typescript from 'rollup-plugin-typescript2'
export default {
input: 'src/index.tsx',
output: [
{
file: pkg.main,
format: 'cjs',
exports: 'named',
sourcemap: true
},
{
file: pkg.module,
format: 'es',
exports: 'named',
sourcemap: true
}
],
plugins: [
typescript({
rollupCommonJSResolveHack: false,
clean: true,
})
]
}
4-在tsconfig的
编译器选项中添加
声明
指令。json
注意:我删除了其他说明,只是为了保持示例更清晰。。。
例子:
{
"compilerOptions": {
"declaration": true,
},
"include": ["src"],
"exclude": ["node_modules", "build", "dist", "example", "rollup.config.js"]
}
5-将
主
和模块
指令包含在包中。json
通知输出的位置。
最后,在
包的
脚本中包含
rollup-c
指令。json,例如:
{
"name": "example",
"version": "0.1.6",
"description": "Testing",
"author": "Example",
"license": "AGPL-3.0-or-later",
"main": "dist/index.js",
"module": "dist/index.es.js",
"jsnext:main": "dist/index.es.js",
"scripts": {
"build": "rollup -c",
"start": "rollup -c -w"
},
"files": [
"dist"
]
}
我使用的是精简型脚本SCS的汇总。我的问题是我无法生成源地图。 以下是我的汇总配置文件: 我不确定我到底做错了什么。下面是我正在使用的代码的链接。任何帮助都将不胜感激!
我想从HTML模板中提取一部分,并将其转换为PDF文件,以便用户可以选择下载。(例如,单击按钮后)。 我找到了一个名为jsPDF的库,我将如何在Angular2应用程序(RC4)中使用jsPDF? 谢谢你
本文向大家介绍C#使用第三方组件生成二维码汇总,包括了C#使用第三方组件生成二维码汇总的使用技巧和注意事项,需要的朋友参考一下 用C#如何生成二维码,我们可以通过现有的第三方dll直接来实现,下面列出几种不同的生成方法: 1.通过QrCodeNet(Gma.QrCodeNet.Encoding.dll)来实现 1.1):首先通过VS2015的NuGet下载对应的第三方组件,如下图所示: 1.2):
我正在使用Swashback为ASP生成swagger文档。NET核心API我正在写。在我的API中,我使用了许多自定义Json转换器,因此我接收和返回的Json看起来与C类的定义不完全一样。例如,我可能有这样一个类: 它将被序列化为 然而,Swashuckle将其记录为 我如何告诉Swashback我的模型是如何序列化和反序列化的?
我正在尝试汇总Angular 2应用程序,但我有: 无法解析“app/components/xxx/xxxxx”。来自xxxx\wwwroot\angular\app\app的组件。单元js 应用程序。模块引用了如下所示: 所以tsconfig.js有: 如何在汇总中解析像typescript这样的路径别名? 我试着用 1) https://github.com/frostney/rollup-p
我使用aws cdk设置了我的AppSync api,但没有使用他们的amplify框架。我正在试图弄清楚如何/是否可以从我的AppSync文件,但不使用amplify,即无法访问命令。我确实尝试过安装和运行它,但我假设amplify希望文件位于某些目录中,因此失败了。 我调查https://graphql-code-generator.com但由于AppSync使用的特殊类型(如)无法工作,解决