Я удивлен, что никто не предложил более математический способ сделать это:
n = 0.123456789
'.%d' % (n*1e4)
Мне гораздо приятнее. :)
Но интересно, что ваш самый быстрый.
$ python -mtimeit '".%d" % (0.123456789*1e4)'
1000000 loops, best of 3: 0.809 usec per loop
$ python -mtimeit '("%.4f"%(0.123456789)).lstrip("0")'
1000000 loops, best of 3: 0.209 usec per loop
$ python -mtimeit '("%.4f"%(0.123456789))[1:]'
10000000 loops, best of 3: 0.0723 usec per loop
Вы исключаете каталог node_modules
(что, как правило, хорошо):
const tsModules = {
test: /\.(js|jsx|ts|tsx)$/,
include: [path.resolve('src')],
exclude: /node_modules/,
loader: 'babel-loader'
}
Помимо явного исключения папки node_modules
, вы также разрешаете только содержимое папки src
обрабатываться babel-loader
из-за вашего свойства include
в tsModules
. Итак, эта ошибка:
ОШИБКА в ../node_modules/wtf/index.tsx 4: 9 Ошибка синтаксического анализа модуля: неожиданный токен (4: 9)
blockquote>делает смысл.
Вы все еще можете исключить
node_modules
, за исключением одной папки, если вы удалите свойствоtsModules.include
и измените свое регулярное выражение вtsModules.exclude
:const tsModules = { // ... exclude: /node_modules\/(?!my-awesome-lib)\/*/ // ... }
Или можете, но у меня нет t еще не протестировал, добавьте каталог
my-awesome-lib
в массивinclude
:const tsModules = { // ... include: [ path.resolve(__dirname, './src'), path.resolve(__dirname, './node-modules/my-awesome-lib') ] // ... }
Затем файлы в вашем каталоге
node_modules/my-awesome-lib
пройдутbabel-loader
, который преобразует код машинописного текста. [1127 ]Редактировать: Я думаю, что вы пришли в замешательство из вашего файла
tsconfig.json
с"include": ["src/**/*", "node_modules/**/*"],
. Бабель передает ваш код, а не машинописный текст. Таким образом, наличие файлаtsconfig.json
в корневом каталоге может помочь вашей IDE (особенно если вы используете VScode от Microsoft), но не влияет на то, какbabel
и@babel/preset-typescript
преобразуют ваш код.