我正在使用webpack处理和捆绑我的TypeScript模块,但我需要一些模块/块从外部可用。我该怎么做?
其他信息
代码被分成不同的目录,每个页面(/component)一个目录。每个页面都包含几个文件,每个文件都包含一个模块。它看起来像这样:
js/
├ page1/
| ├ entry.ts
| ├ module1.ts
| └ module2.ts
├ page2/
| ├ entry.ts
| ├ module3.ts
| └ module4.ts
类型脚本模块的定义如下
import {Module2} from "./module2";
export module Module1 {
export function someFunc():int {
return Module2.someVal;
}
}
我正在使用gulp-webpack来编译和捆绑每个页面的模块:
gulp.task('javascript', function () {
return gulp.src('src/js/**/entry.ts')
.pipe(named(function (file) {
// Sets file.named to the containing directory name (used by webpack)
return path.dirname(file.path).substr(path.dirname(file.path).replace(/\\/g, '/').lastIndexOf('/') + 1);
}))
.pipe(webpack({
resolve: {
extensions: ['', '.webpack.js', '.web.js', '.ts', '.tsx', '.js']
},
module: {
loaders: [
{test: /\.tsx?$/, loader: 'ts-loader'}
]
},
plugins: [
new CommonsChunkPlugin({
name: "bundle",
minChunks: 3
})
],
output: {
filename: '[name].js'
},
devtool: 'source-map'
}))
.pipe(gulp.dest('dest/js'))
});
现在我需要从全局范围访问 Module1.someFunc(),
以便它可以被其他(外部)组件使用。我已经查看了暴露加载程序,但我不明白在这种情况下如何工作。
任何帮助都将不胜感激!
无论如何,我想出了如何使用暴露加载器来做到这一点。在条目中,我使用了:
import x = require("expose-loader?M1!./module1");
这使得该功能可通过 M1 使用。Module1.someFunc()
从外部。我的IDE和gulp-webpack都抛出了一个错误,但最终它仍然以某种方式工作。对我来说足够好了!
既然我们对模块模式已经有一些了解了,让我们看一下改进版本 - Christian Heilmann 的启发式模块模式。 启发式模块模式来自于,当Heilmann对这样一个现状的不满,即当我们想要在一个公有方法中调用另外一个公有方法,或者访问公有变量的时候,我们不得不重复主对象的名称。他也不喜欢模块模式中,当想要将某个成员变成公共成员时,修改文字标记的做法。 因此他工作的结果就是一个更新的模式,在这
我有以下文件: 我希望这个'app'变量是全局可访问的,因为其他文件是这样使用它的: 在webpack.config.js中,我有以下一行: 我想不出我错过了什么。我的app.js格式不正确吗?为什么仍然不能全局使用?
问题内容: 我不会将jQuery对象公开给浏览器中开发人员控制台内部可访问的全局窗口对象。现在在我的webpack配置中,有以下几行: 这些行将jQuery定义添加到我的webpack模块中的每个文件中。但是,当我构建项目并尝试在开发者控制台中访问jQuery时,如下所示: 它说这些属性是不确定的… 有没有办法来解决这个问题? 问题答案: 您需要使用expose-loader.。 您可以在需要时执
Exposing models over REST(将模型暴露给REST) 简介 REST 路径 使用 REST 路由 请求数据格式化 使用HTTP查询字符串传递JSON对象或数组 响应数据格式化 禁用 API Explorer 预定义的远程方法(remote methods) 暴露/隐藏 models, 方法, 端点(endpoints) 隐藏的方法和REST端点 案例: 只读端点(endpoi
使用sping-data-rest公开存储库我想覆盖默认的异常处理。 阅读文档在我看来,最好的wat应该是使用@ControllerAdvice注释类 有几点我不太清楚: 我应该扩展ResponseEntityExceptionHandler,其他类,什么都不扩展吗 顺便说一句,即使我尝试了不同的配置,这似乎也不起作用。有没有办法在spring data rest中自定义错误处理?
问题内容: 我正在尝试将一个非常基础的项目与React,TypeScript和Webpack整合在一起。编译时,我从以下位置的文件夹中收到以下错误(为了简便起见,我删除了堆栈跟踪和项目路径): 我尝试卸载TypeScript并将其替换为Babel来转换JSX,并得到了相同的错误。 安装固定好了。 我已经尝试过的每一个组合,并在得到的打字稿同样的结果,但无法得到任何工作。 如何使Webpack,Ty