小编Lio*_*ior的帖子

TypeError:无法调用未定义的方法'charCodeAt'

我创建了一个带有webpack的裸项目,只有一个加载器,ts-loader.由于以下错误,Webpack失败:

ERROR in ./app.ts
Module build failed: TypeError: Cannot call method 'charCodeAt' of undefined
    at getRootLength (/home/ravioli/IdeaProjects/dummyWebpack/node_modules/ts-loader/node_modules/typescript/bin/typescript.js:997:18)
    at Object.isRootedDiskPath (/home/ravioli/IdeaProjects/dummyWebpack/node_modules/ts-loader/node_modules/typescript/bin/typescript.js:1051:16)
    at rootReferencePath (/home/ravioli/IdeaProjects/dummyWebpack/node_modules/ts-loader/index.js:72:23)
    at /home/ravioli/IdeaProjects/dummyWebpack/node_modules/ts-loader/index.js:87:93
    at Array.map (native)
    at ensureDependencies (/home/ravioli/IdeaProjects/dummyWebpack/node_modules/ts-loader/index.js:87:35)
    at Object.loader (/home/ravioli/IdeaProjects/dummyWebpack/node_modules/ts-loader/index.js:103:5)
Run Code Online (Sandbox Code Playgroud)

在vanilla Javascript文件上测试时,Webpack按预期运行.使用Typescript文件和ts-loader时会发生错误,其中错误的来源是(正如您在堆栈中看到的).

删除以下行后问题解决:( ///<reference path="testi.d.ts" /> 文件的内容不影响错误 - 我已经检查过).

这是一个示例项目的链接,webpack从src_ts文件夹运行:https: //github.com/ravitb/dummyWebpack

我在这里想念的是什么?!

typescript webpack

10
推荐指数
1
解决办法
1848
查看次数

Typescript编译器为AMD项目重新创建整个目录结构

我们有一个AMD Typescript项目,它的目录结构类似于:

project_root/
 /scripts
   /ts
     module.ts
   /js (generated from the TS files)
 /tests
   /ts
    moduleTest.ts (imports module.ts)
   /js (generated from the TS files)
Run Code Online (Sandbox Code Playgroud)

问题是当我们编译一个文件时,该文件从一个目录导入另一个模块(文件),该目录不是导入程序目录的后代,TS编译器将整个树从两个目录的直接共享父目录重建到js目录中.

因此,例如,编译tests/ts/moduleTest.ts(导入scripts/ts/module.ts)到tests/js目录中,将产生以下tests/js目录:

project_root/tests/js
  /scripts/ts
     module1.js
  /tests/ts
     module1test.js
Run Code Online (Sandbox Code Playgroud)

而不仅仅是module1test.js单独的project_root/tests/js.在现实生活中,它甚至会更糟糕,因为module1.ts它本身会从子目录中导入更多模块,所有这些模块都被创建project_root/tests/js.
除了导入生成的.js文件和引用corecponding .d.ts文件而不是导入.ts文件.有没有解决整个树的创建?最好是,有一种方法可以告诉编译器不要编译导入的TS文件,而只是将它们用作参考吗?

我已经建立了一个基本的示例/测试存储库用作游乐场.要查看我正在谈论的内容,请从项目根目录运行:

tsc --module amd -t ES5 --outDir tests/js/ tests/ts/module1spec.ts
Run Code Online (Sandbox Code Playgroud)

此项目使用requireAdapters.d.ts来避免在import语句中使用相对模块名称(换句话说,它在TS和require.js模块名称之间进行转换).

amd typescript

6
推荐指数
1
解决办法
1404
查看次数

css:限制元素到min(容器宽度,容器高度)

鉴于以下内容:

<div class="container">
    <div class="content">

    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

有没有一种CSS方法可以动态地将content元素的高度和宽度设置为两个(高度或宽度)的较小值container

例如,如果container460x320content必须320x320.如果container240x333那么content应该240x240.事先不知道
其大小,container因此使用固定值将不起作用.
我已经尝试了所有种类的东西,从max-height/max-widthobject-fit,但一直无法使它发挥作用.

检查这个jsfiddle的演示(使用javascript)

使用JavaScript很容易,但我正在寻找一个只有CSS的技巧,如果可能的话.

css

6
推荐指数
1
解决办法
171
查看次数

"提问"中的后退按钮事件捕获

后退按钮事件window.onbeforeunload不会被处理onbeforeunload程序捕获,也不会由处理程序处理.

关于捕获后退按钮没有什么好答案的问题有一些问题,但是如果用户点击浏览器的后退按钮同时在SO上创建一个新问题则询问他是否确定他想要继续弹出.

此消息框在Chrome和FF之间有所不同,并且感觉很原生.

窗帘背后是什么?

如何让浏览器弹出一个消息框,让用户可以选择保留当前页面(如同onbeforeunload)?

javascript dom back-button javascript-events

5
推荐指数
1
解决办法
1950
查看次数

在滚动位置更改图像

我想在某个滚动位置上更改图像.例如:

滚动100px显示img1.jpg

滚动200px显示img2.jpg

滚动300px显示img3.jpg

我在这里找到了一个我的意思的例子.

有任何想法吗?

javascript jquery html5 css3 skrollr

2
推荐指数
1
解决办法
2万
查看次数